public virtual void Dispose() { WorkerCancelToken.Cancel(); WorkerCancelToken = null; ServerWorker?.Dispose(); Socket?.Dispose(); }