マルチスレッド環境下でのコレクションの操作

WPFでM-V-VMパターンでアプリ組んでた時に、ちょっと悩んでしまったのでメモ。 サービスの呼び出しや、TCP/IPでの通信とかはUIをブロックしないように別スレッドでやるのがセオリーだけど、結果をViewModelのプロパティに反映する際に、普通のプロパティに書き換えは平気だけど、コレクションの操作は例外が起きてしまうと…