You should not do UI operations on a background thread. This includes:
- Drawing on a canvas.
- Raising
PropertyChanged
notifications. - Creating or updating an
ObservableCollection
.
Creating a fake-UI component like ObservableCollectionEx
that just forwards all its work to the UI thread doesn't gain you anything.