Take collection views as an example; they're collections but yet you can't do much with them unless the operations you perform on them are done so on the UI thread. Want to refresh them in a worker thread? Good luck with that.

There are examples online on how to modify an observable collection in a way that they can be refreshed on a worker thread if you really want to implement that.