void IDelayDisposable.DelayDispose() { lock (this) { if (!DelayDisposed) { DelayDisposed = true; GC.SuppressFinalize(this); if (DisposableObject != null) { DisposableObject.DisposeObject(); DisposableObject = null; } } } }