и еще, верно ведь, что дескрипторы на файлы в винде, которые открыло приложение закрываются автоматически при его завершении?
Не совсем. Автоматически вызывается только финализатор, который обычно вызывает Dispose(), но ты можешь написать собственный класс, который этого не делает, и тогда Dispose не вызовется. Касательно файлов - винда автоматически закрывает хендлы при завершении приложения, которое их создало, даже если бы финализатор ничего не делал.