diff --git a/osu.Game/Screens/OsuScreen.cs b/osu.Game/Screens/OsuScreen.cs index 6a0e37ca6f..de9c698f2a 100644 --- a/osu.Game/Screens/OsuScreen.cs +++ b/osu.Game/Screens/OsuScreen.cs @@ -131,7 +131,15 @@ namespace osu.Game.Screens Background.Exit(); } - return base.OnExiting(next); + if (base.OnExiting(next)) + return true; + + // while this is not necessary as we are constructing our own bindable, there are cases where + // the GC doesn't run as fast as expected and this is triggered post-exit. + // added to resolve https://github.com/ppy/osu/issues/829 + beatmap.ValueChanged -= OnBeatmapChanged; + + return false; } } }