1. At a computer system, the computer system including one or more processors and system memory, the computer system running an application that allocates parts of the system memory for storing objects, system memory including a counted object graph and a garbage collected object graph, the counted object graph including one or more ref. counted objects having their lifetime managed in accordance with reference counting, the garbage collected object graph including one or more GC objects having their lifetime managed in accordance with garbage collection, a ref. counted object referencing a GC object through a counted wrapper, a GC object referencing a ref. counted object through a reference wrapper, a method for synchronizing reference information from the counted object graph with the garbage collected object graph in preparation for an attempt to reclaim system resources, the method comprising: an act of determining that garbage collection is to be performed; in response to the determination and prior to performing garbage collection: an act of determining that the counted wrapper can be reached from the reference wrapper via the counted object graph; and an act of protecting the lifetime of the GC object referenced through the counted wrapper; and an act of performing garbage collection to determine if any allocated system resource can be reclaimed, garbage collection considering the GC object effectively referenced by the reference wrapper.