Потокобезопасная наблюдаемая коллекция
С версии .NET 4.5 можно определить глобальный объект блокировки:
Private ReadOnly LockObj As New Object()
И далее в коде перед использованием наблюдаемой коллекции указать этот объект как параметр статического метода EnableCollectionSynchronization():
BindingOperations.EnableCollectionSynchronization(MyObservableCollection, LockObj)