public void Stop()
{
if (IsRunning)
{
stopSignal.Set();
worker.Abort();
if (worker != null)
{
worker.Join();
Release();
}
}
}