Сборка мусора необходима в некоторых специфических случаях, когда система не может автоматически уничтожить объект, основываясь на некоторых систематических критериях. Например, в случае, когда в системе имеются два неиспользуемых объекта A и B, ссылающихся друг на друга, система не сможет их уничтожить, так как счётчик ссылок у них обоих ненулевой. Для разрешения подобных ситуаций система периодически производит сборку мусора, в процессе которой помечаются все активные объекты, а остальные уничтожаются.
См. также: