protected override void Dispose(bool disposing) { if (fragment != null) { RemoveMapEvents(); if (fragment.StateSaved) { var activity = (AppCompatActivity)Context; var fm = activity.SupportFragmentManager; fm.BeginTransaction() .Remove(fragment) .Commit(); } fragment.Dispose(); fragment = null; } base.Dispose(disposing); }