[Bug]: Invalid Operation Exception on MvxRecyclerView BindViewHolder
### Description

This issue has been happening quite consistently since forever in our app. We get quite a few amount of crashes in the wild but it's hard to replicate locally. After some digging I found where the issue seems to lie, but I wanted to consult before trying to make any pull request.

The log is always the same:

```
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
  at System.Collections.Generic.List`1.Enumerator[[System.Collections.Generic.KeyValuePair`2[[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.IList`1[[MvvmCross.Binding.BindingContext.MvxBindingContext.TargetAndBinding, MvvmCross, Version=9.1.1.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNextRare()
  at System.Collections.Generic.List`1.Enumerator[[System.Collections.Generic.KeyValuePair`2[[System.Object, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Collections.Generic.IList`1[[MvvmCross.Binding.BindingContext.MvxBindingContext.TargetAndBinding, MvvmCross, Version=9.1.1.0, Culture=neutral, PublicKeyToken=null]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
  at MvvmCross.Binding.BindingContext.MvxBindingContext.OnDataContextChange()
  at MvvmCross.Binding.BindingContext.MvxBindingContext.set_DataContext(Object value)
  at MvvmCross.DroidX.RecyclerView.MvxRecyclerViewHolder.set_DataContext(Object value)
  at MvvmCross.DroidX.RecyclerView.MvxRecyclerAdapter.OnBindViewHolder(ViewHolder holder, Int32 position)
  at AndroidX.RecyclerView.Widget.RecyclerView.Adapter.n_OnBindViewHolder_Landroidx_recyclerview_widget_RecyclerView_ViewHolder_I(IntPtr jnienv, IntPtr native__this, IntPtr native_holder, Int32 position)
  at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPLI_V(_JniMarshal_PPLI_V callback, IntPtr jnienv, IntPtr klazz, IntPtr p0, Int32 p1)
```

From what I can see the issue happens here:
https://github.com/MvvmCross/MvvmCross/blob/2506cf6695ff8081e085e8b5a40e3f17cc0f94c3/MvvmCross/Binding/BindingContext/MvxBindingContext.cs#L183-L192

For some reason either the _viewBindings list gets modified or one of its inner lists. From my understanding this should not happen since I'm using `MvxObservableCollection` for the recyclerView and thus it makes sure that collection modifications happen in the main thread so I'm not really sure how this is happening.

Then I found the following in MvxTaskBasedBindingContext:
https://github.com/MvvmCross/MvvmCross/blob/2506cf6695ff8081e085e8b5a40e3f17cc0f94c3/MvvmCross/Binding/BindingContext/MvxTaskBasedBindingContext.cs#L119-L124

This was done to fix an [issue like the one that I'm encountering](https://github.com/MvvmCross/MvvmCross/pull/1501).

**Now the question would be:** Does it make sense that this issue happens in `MvxBindingContext` and therefore a pull request mimicking `MvxTaskBasedBindingContext` change would solve the issue? Or is the actual root cause of this somewhere else and the collections being modified whilst looping in `OnDataContextChanged` is something that should theoretically never happen?

### Steps to Reproduce

No easy reproduction

### Link to public reproduction project repository

_No response_

### Version with bug

9.2.0

### Is this a regression from previous behavior?

No, this is something new

### Last version that worked well

Unknown/Other

### Affected platforms

Android

### Affected platform versions

All Android versions

### Did you find any workaround?

not yet