Вам нужно использовать диспетчер потока, который изначально создал объект, который, как я полагаю, будет потоком пользовательского интерфейса, поскольку вы устанавливаете изображение. При прямом вызове диспетчера из класса stati c вы всегда получаете тот, который фактически назначен фактическому потоку, что означает, что вам потребуется ссылка на диспетчер потока, которому принадлежит объект.
DispatcherPriority.Render не говорит, что вы хотите выполнить его в потоке рендеринга, но он устанавливает приоритет, когда он должен быть выполнен, вы уточняете об этом в msdn .
Чтобы получить доступ к Диспетчер потока пользовательского интерфейса, вы можете использовать приведенный ниже код, но тогда поток пользовательского интерфейса действительно должен быть владельцем объекта, который вы устанавливаете
Application.Current.Dispatcher.Invoke(action);