private void Dispose(bool disposing) { if (!_disposed) { if (disposing) { CloseInterfaces(); } // unmanaged cleanup if (_addedToRot) { DsUtils.RemoveGraphFromRot(ref _dwRegister); } } _disposed = true; }