Я проверил, в каком потоке вызваны мои методы Dispose (bool).Когда приложение запущено, это всегда поток пользовательского интерфейса, который вызывает Dispose, например, при нажатии на [x], чтобы закрыть форму.Но когда я закрываю все приложение, многие методы Dispose вызываются в (одном) другом потоке.Когда я выкидываю трассировку стека, я вижу, что все они вызываются из System.ComponentModel.Component.Finalize ().
Означает ли это, что все мои методы Dispose необходимо сделать поточно-ориентированными?Или WinForms гарантирует, что поток пользовательского интерфейса больше не будет касаться этих объектов, и он также устанавливает какое-то отношение «произошло до» между потоком пользовательского интерфейса и тем, который сейчас завершается?