private static void SendAllMessages() { Tracker[] sessions; lock (Sync) { sessions = Sessions.ToArray(); } foreach (var session in sessions) { session.SendMessages(); if (session._disposed) { lock (Sync) { Sessions.Remove(session); } } } }