1. A method of managing memory in a computer system in which memory locations in use at any given time are represented as a set of memory objects in a first object graph that includes a system root object associated by references to each of said memory objects, the method comprising: creating a second root object for said memory so as to form a second object graph for said memory; and in response to a dereferencing of a first object from said first object graph, associating said dereferenced first object with said second object graph so that said second object graph comprises one or more dereferenced objects.