public void Dispose()
 {
     _threadPoolTimer.Dispose();
     _resetEvent.Dispose();
 }