protected virtual void UnbindCycle(IMvxViewModel vm)
        {
            Task.Run(() =>
            {
                try
                {
                    if (vm is IBaseViewModel baseVM)
                    {
                        baseVM.Unbind();
                    }

                    vm?.DisposeIfDisposable();
                }
                catch (Exception ex)
                {
#pragma warning disable CS0618 // Type or member is obsolete
                    MvxTrace.Trace(() => ex.BuildAllMessagesAndStackTrace());
#pragma warning restore CS0618 // Type or member is obsolete
                }
            });
        }