Messages can be lost, and the network can be partitioned for a while. Since persistent objects may remain after their clients and servers terminate, garbage objects might stay in persistent storage forever unless garbage collection is performed. If some clients terminate without deleting their references, storage is wasted, which even causes system crash. They are activated again when they are accessed. This process is performed transparently.
Clients can store the state of their objects explicitly as well.
The persistent objects exist until they are explicitly deleted by clients, which means that garbage objects should be reclaimed by clients manually. DCOM also supports the persistent object service. DCOM does not support a garbage collection mechanisms for the ROT, so the client which created objects should come back and delete the objects. Garbage objects which are unreachable from the root objects are reclaimed by the external garbage collector, opjgc . The current garbage collection mechanisms for active objects in memory are not suitable for persistent objects.