1. A method for deleting objects from a memory in a computing device, wherein the memory includes both a volatile memory and a non-volatile memory that is writeable, the method comprising: receiving a request to perform an object deletion operation that locates and deletes unused objects from the memory; and in response to the request, performing the object deletion operation by, performing a marking operation that marks objects that are reachable in the non-volatile memory, wherein the marking operation does not directly mark the objects in the non-volatile memory, but instead marks data values in the volatile memory that are associated with the objects, so that unnecessary write operations to non-volatile memory are avoided, and performing a sweep operation that deletes unmarked objects from the non-volatile memory.