Я до сих пор не уверен, почему это проблема, но я могу точно определить, где происходит ошибка.
public async void OnLevelUp(object sender, EventArgs e)
{
IsBusy = true;
LevelUpVm.CharacterId = IoC.Game.GetCharacter(SelectedCharacter.Id).Id;
**await IoC.SaveConfigFile();** <<< OFFENDING LINE OF CODE
var rootFrame = Window.Current.Content as Frame;
rootFrame?.Navigate(typeof(LevelUpView), null);
IsBusy = false;
}
Если я переместу ОТКРЫТУЮ ЛИНЕЙКУ КОДА после строки rootFrame? Navigate,все работает нормально.
Итак, после 5 часов работы с кодом, я пришел к решению - но я все еще не уверен, почему вызов await вызывает проблему.