Недостаточно иметь ссылку, чтобы вызвать утечку памяти. Подумайте о следующем.
Если поток порождает 3 объекта (где -> обозначает ссылку), A -> B -> C -> A
Если поток не ссылается на A, все собираются. Циркулярные ссылки рассматриваются GC.
Однако это также очевидно означает, что если делегат содержит ссылку на объект, и на этот объект с делегатом все еще ссылаются, то функция делегата не будет очищена.
Это даст вам следующее.
A - (объект с делегатом)
B - объект, содержащий ссылку на функцию.
Когда А выходит за пределы области видимости, Б. стремится к.