public override void Shutdown() { lock (_list) { List <EntityIdle> list = new List <EntityIdle>(_list); foreach (EntityIdle idle in list) { idle.Remove(Owner); } Debug.Assert(Empty); } if (IdleTimer != null) { lock (IdleTimer) { IdleTimer.Dispose(); IdleTimer = null; } } base.Shutdown(); }