CollectionView создается в WPF автоматически при байндинге коллекций, так что тут ничего странного. Проблема, скорее всего, в том, что вы изменяете вашу коллекцию не из UI потока, например, создав Task и не указав Scheduler, либо используете таймер, отличный от DispatcherTimer, и т. д. Самым простым способом решения проблемы будет обернуть код, изменяющий коллекцию, в вызов Dispatcher.Invoke(...). Главное - указать правильный Dispatcher - его можно получить из любого контрола окна.