void IDisposable.Dispose() { Dispose(true); // This takes the already destroyed desktop off the finalization queue so the GC // doesn’t call the finalization code twice. GC.SuppressFinalize(this); }