1. A computer program product comprising one or more computer-readable hardware storage devices having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to instantiate in memory an annotation component that is configured to evaluate an executable component that returns at least a reference that references a particular object graph, and to annotate the reference returned by the executable component, wherein the annotation component is configured to perform the following: accessing an executable component that, when executed, generates and returns a reference that references the particular object graph; determining whether there are any input arguments to the executable component; when there are one or more input arguments to the executable component, for each input argument, determining whether the each input argument is either immutable or the each input argument represents an object graph that has no external mutable references pointing into the object graph and no internal mutable references that reference external objects; and when there are either no input arguments to the executable component or each input argument is either immutable or represents an object graph that has no external mutable references and no internal mutable references that reference external objects, assigning a signifying attribute having a value of fresh to the returned reference, wherein the fresh signifying attribute signifies: 1) that there are no external references to the particular object graph referenced by the return reference, and 2) that there are no mutable references within the object graph to any objects outside of the object graph.