Один аспект, еще не упомянутый, состоит в том, что некоторые типы объектов могут просить объекты, находящиеся вне их, делать что-либо от их имени (например, предоставлять им исключительный доступ к не заменимому ресурсу, такому как файлу), в ущерб другим объектам. Когда выполняется сборка мусора, система не только освобождает память, которая раньше была занята недоступными объектами, но также будет вызывать finalize
для объектов, которые, как она замечает, были оставлены, что позволяет таким объектам уведомлять внешние объекты о том, что их услуги больше не требуются. Для программы вполне возможно достичь состояния, в котором имеется много памяти, но необходимый ресурс недоступен, поскольку объекту предоставлен эксклюзивный доступ, и с тех пор он был оставлен без освобождения. Принудительное выполнение сборщика мусора в такой ситуации может иногда высвободить необходимый ресурс.