Да, по большей части. Привязка является потокобезопасной для отдельных объектов (так должно быть хорошо для вашей строки). Тем не менее, привязка к коллекции не поточно-безопасна - и все же требует ручного маршалинга. Если у вас есть элемент управления, связанный с коллекцией, вы не можете изменить коллекцию в фоновом потоке.
Я понимаю, что, если класс, в котором находится свойство, реализует INotifyPropertyChanged, структура привязки автоматически маршализирует обновление пользовательского интерфейса в потоке пользовательского интерфейса. Однако разве это не позволяет синхронизировать данные?
Это не должно выходить из синхронизации, если только несколько потоков не пишут в переменную очень быстро (в этом случае все они будут блокироваться, пока не вернутся в синхронизацию, но есть период времени, когда потоки будут " ждать "на пользовательском интерфейсе). Маршалинг происходит синхронно, поэтому поток не получает значения до тех пор, пока не будет обновлена привязка. Это может замедлить вашу обработку, так как обновление пользовательского интерфейса должно произойти, прежде чем ваш фоновый поток сможет продолжить.