Solved it, courtesy of this link: Running WPF Application with Multiple UI Threads
var thread = new Thread(() =>
{
var wpfWindow = new WPFWindow();
wpfWindow.Show();
wpfWindow.Closed += (sender2, e2) => wpfWindow.Dispatcher.InvokeShutdown();
Dispatcher.Run();
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();