WPF DependencyObject excepción de subproceso

Tengo el siguiente código que crea una carpeta temporal y usa un FileSystemWatcher para sondear los archivos agregados a la carpeta en la propiedad Ubicación y agregarlos a una lista:Scratchdisk.cs en Pastebin. La idea es crear un objeto Scratchdisk y hacer que FFmpeg extraiga fotogramas de video en él, FileSystemWatcher crea una lista de estos archivos a medida que FFmpeg los crea, y la lista se presenta como un Objeto de dependencia al que se une mi interfaz de usuario.

Me estoy vinculando al objeto Scratchdisk así:

<ItemsControl ItemsSource="{Binding Source=ThumbnailScratchdisk, Path=FileList}">
...
</ItemsControl>

Sin embargo, al crear realmente el objeto, obtengo la siguiente excepción:

A first chance exception of type 'System.InvalidOperationException' occurred in WindowsBase.dll

Additional information: The calling thread cannot access this object because a different thread owns it.

en la línea 28get { return (List<string>)GetValue(FileListProperty); }

Creo que necesito un Despachador. Invocar en algún lugar pero no tengo idea de dónde, no sé dónde se está creando el segundo hilo. Supongo que tiene algo que ver con que FileSystemWatcher escriba en la lista de archivos.

¿Alguna ayuda?

¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta