Очистка ресурсов приложения при завершении деятельности происходит через работу сборщика мусора. 13 Он проверяет наличие объектов, которые больше не используются приложением. 1 Если сборщик считает, что какой-либо объект требует уничтожения, то вызывает метод завершения (при наличии) и освобождает память, используемую для хранения этого объекта. 1
Например, в .NET Framework при завершении работы приложения сборщик мусора вызывает методы завершения для всех объектов, которые ещё не были собраны, если такая очистка не была подавлена. 1 В .NET 5 (включая .NET Core) и более поздних версиях методы завершения не вызываются как часть завершения приложения. 1
Также в случае, когда приложением используется ценный внешний ресурс, рекомендуется обеспечить способ высвобождения этого ресурса явным образом, прежде чем сборщик мусора освободит объект. 1 Для этого реализуется метод Dispose интерфейса IDisposable, который выполняет необходимую для объекта очистку. 1