Это потому, что WPF
заботится о распределении связанных данных в потоке пользовательского интерфейса.Это работает только для скалярных данных, насколько я знаю.Для коллекций вы должны позаботиться о правильном управлении им между потоками, не относящимися к пользовательскому интерфейсу и пользовательскому интерфейсу.
Нет заметных накладных расходов, поскольку в конечном итоге это должно быть сделано так же, как в многопоточности (может быть немногоболее оптимизированный способ).