1. A method of managing memory, comprising: determining, based at least in part on data stored in a data structure accessible to the respective garbage collecting entity of each of a plurality of runtime systems, that a local object is associated with one or more external objects; and retaining the local object, even if the local object has been determine to be unreachable locally in a local runtime system with which the local object is associated, if at least one of said one or more external objects has been determined to be reachable within an external runtime environment with which the at least one external object is associated.