private void Cleanup() { lock (locker) { var dead_list = objToId.Where(kv => !kv.Key.IsAlive).ToArray(); foreach (var kv in dead_list) { objToId.Remove(kv.Key); idSet.Remove(kv.Value); } } }