во-первых, при отладке код работает по-другому, если ты добавишь в деконструктор вот такой код:
~Item()
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), @"WriteLines.txt"), true))
{
file.WriteLine("Item's finalizer is called.");
}
Console.WriteLine("Item's finalizer is called.");
}
скомпилируешь под релиз и запустишь, то ты увидишь, что ничего не отваливается, а деконструктор вызывается
во-вторых, проблема у тебя совсем другая, в wpf источники утечки, как правило , совсем другие, так что данный пример- не в тему
сорри, надо и
do
{
Item item = new Item();
GC.Collect();
GC.WaitForPendingFinalizers();
} while (true);
вызывать