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

                        if (DisposableObject != null)
                        {
                            DisposableObject.DisposeObject();
                            DisposableObject = null;
                        }
                    }
                }
            }