private void RemoveGridFromMap(MyEntity myEntity) { var grid = (MyCubeGrid)myEntity; GridMap gridMap; if (GridToInfoMap.TryRemove(grid, out gridMap)) { ConcurrentListPool.Return(gridMap.MyCubeBocks); gridMap.Trash = true; GridMapPool.Return(gridMap); grid.OnFatBlockAdded -= ToGridMap; grid.OnFatBlockRemoved -= FromGridMap; grid.OnClose -= RemoveGridFromMap; grid.AddedToScene -= GridAddedToScene; DirtyGridInfos.Add(grid); } else { Log.Line($"grid not removed and list not cleaned: marked:{grid.MarkedForClose}({grid.Closed}) - inScene:{grid.InScene}"); } }