protected override void Dispose(bool isManaged) { if (isManaged) { checkTick.Dispose(); cooldownTimer.Dispose(); noteCooldownTimer.Dispose(); noteCooldownUpdateTick.Dispose(); checkTick = null; cooldownTimer = null; noteCooldownTimer = null; noteCooldownUpdateTick = null; StatusChanged = null; Events.GetEvent <NewUpdateEvent>().Unsubscribe(OnNewUpdateEvent); messageManager.Dispose(); messageManager = null; } base.Dispose(isManaged); }