Visualización de la ventana de espera en un hilo separado

Tengo un método que exporta el contenido de miDataGrid a unCSV archivo. Estoy tratando de mostrar unWindow que tiene una animación para pedirle al usuario que espere.

Sin embargo, cuando muestro elWindow la animación se congela, así que supuse que esto se debe a que el método de Excel se ejecuta en el mismo hilo que se congela.

Lo que he intentado hasta ahora es esto;

var waitWindow = new PleaseWaitWindow();

var newWindowThread = new Thread(() =>
{
    waitWindow.Show();
    System.Windows.Threading.Dispatcher.Run();
});

newWindowThread.SetApartmentState(ApartmentState.STA);
newWindowThread.IsBackground = true;
newWindowThread.Start();

ExcelExport();

waitWindow.Close();

pero esto lleva a un error;

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

¿Cómo puedo comenzar un nuevo hilo para que la animación no se congele mientras se exporta el método de Excel?

Respuestas a la pregunta(1)

Su respuesta a la pregunta