public void Dispose() { _dlgView.Destroy(); _dlgView.Parent = null; Dialogs.DisposeModelAndChildrenRenderers(_dlgView); _dlgView.BindingContext = null; _dlgView = null; var tapGesture = _overlayView.GestureRecognizers.FirstOrDefault(); _overlayView.RemoveGestureRecognizer(tapGesture); tapGesture?.Dispose(); _overlayView.RemoveFromSuperview(); _overlayView.Dispose(); _overlayView = null; _contentViewController.TransitioningDelegate = null; _contentViewController.Dispose(); _contentViewController = null; _dialogController.Dispose(); _dialogController = null; _renderer = null; }