Если вам нужно детерминированное удаление, в конечном счете, некоторые клиенты должны вызвать Dispose или заключить вызовы в блок «using». Чтобы просочиться к вашему объекту, может потребоваться, чтобы владелец также реализовал IDisposable.
Вы не должны полагаться на сборщик мусора для освобождения ресурсов, зависящих от времени.