protected void Finished(object o) { if (_estimated_time_left > DateTime.UtcNow) { SimpleTimer.Enqueue(Finished, null, 1000, 0); return; } BH.Unsubscribe(this); Finished(); }