This paper shows how to perform distributed automatic garbage collection of objects possessing their own thread of control. The relevance of garbage collection and concurrent objects used in the paper is explained. The collector is comprised of a collection of independent local collectors, one per node, loosely coupled to a distributed global collector. The mutator (application), the local collectors and the global collector run concurrently. The synchronization necessary to achieve correct and efficient concurrent operation between the collectors and the mutator is presented in detail. An interesting aspect of the distributed collector is the termination algorithm: the collector algorithm running on one node, which considers itself to be "done," may become "undone" by the action of a collector algorithm on another node