Could you try pushing already formed page instead of forming new one every time and check if this fixes the problem? Like to change it to:
public partial class Sidebar : FlyoutPage
{
private ApplicationSettings AppSettingsPage;
public Sidebar()
{
InitializeComponent();
Detail = new NavigationPage(new MainPage());
AppSettingsPage = new ApplicationSettings();
}
private async void GoToApplicationSettingsPage(object sender, TappedEventArgs e)
{
await Detail.Navigation.PushAsync(AppSettingsPage);
IsPresented = false;
}
}
Or try to change the behaviour from PushAsync to PushModalAsync, like
await Shell.Current.PushModalAsync(new ApplicationSettings());