public void Dispose() { lock (disposedLocker) { if (!disposed) { disposed = true; getToWork.Close(); getToWork = null; thread = null; GC.SuppressFinalize(this); } } }