Just saw this answer from Slodge:
Advice on where and when to use ObservableCollection in MvvmCross
The UI updates must be done synchronously. And thinking about it, it makes sense indeed. The answer for me was to use:
MvxMainThreadDispatcher.Instance.RequestMainThreadAction(() => {
// fill your collection in the viewmodel and do a propertychanged
});