По моему опыту, это может произойти, если вы создадите или используете какой-либо элемент Framework (или любой объект зависимости) в потоке, не являющемся пользовательским интерфейсом.
Просто убедитесь, что все связанные с пользовательским интерфейсом задачи выполняются в потоке пользовательского интерфейса, и, если нет, используйте Dispatcher.BeginInvoke
, чтобы опубликовать их в основном потоке.