Сборщик мусора запускается только тогда, когда он требуется для запуска, поэтому он не обязательно будет запускаться сразу после запуска Dispose.
Вы можете принудительно собрать GC, вызвав GC.Collect ();но это, вероятно, повлияет на производительность ваших приложений.Это потому, что когда GC запускается, он останавливает все выполняющиеся потоки в вашем приложении и проверяет каждый объект в куче, чтобы увидеть, на него все еще ссылаются или используют.В то время как сборщик мусора работает быстро, будет много лишних вызовов к GC.
Как говорили другие комментирующие люди, лучше всего позволить GC управлять собой.