public void Dispose() { Logger.Log("Disposing game " + GameName); foreach (var world in GameWorlds) { world.Dispose(); } GameRenderer.Dispose(); Form.Dispose(); if (GameInstance == this) { GameInstance = null; } else { Logger.LogWarning("Game Instance is not this at Dispose"); } Logger.LogWarning(SharpDX.Diagnostics.ObjectTracker.ReportActiveObjects()); }