// Clean up the window data context private void Window_Closing(object sender, CancelEventArgs e) { this.Closing -= Window_Closing; if (this.Visibility == Visibility.Visible) { context.DestroyDevice(); } this.DataContext = null; GC.Collect(); }