internal void OnTargetExitedEvent() { ThreadPool.QueueUserWorkItem (delegate { Dispose (); if (TargetExitedEvent != null) TargetExitedEvent (this); kill_event.Set (); }); }