public void ResetBalloonCloseTimer() { if (IsDisposed) return; lock (this) { //reset timer in any case balloonCloseTimer.Change(Timeout.Infinite, Timeout.Infinite); } }