мы ж обсуждали, останавливает потоки, смотрит в указатели на стеки этих потоков, смотрит какая память из этих стеков доступа (указатель на что ещё хранится), а какая нет, если доступна, то помечает как ок, потом проходит по всей выделенной памяти и если нет отметки "ок" то удаляет