"Что мне действительно нужно, так это иметь главное окно, связанное с сеткой, в которой каждая ячейка содержит элемент, управляемый другим потоком."
Один из способов сделать это - создать элементы в ячейке. Создайте обычный класс ViewModel, который не касается пользовательского интерфейса, а работает в своем собственном потоке. Этот класс - это мозг, который стоит за тем, что вы на самом деле пытаетесь делать в своих клетках, а не то, что вы пытаетесь ПОКАЗАТЬ в своих клетках. Этот класс ViewModel должен реализовывать INotifyPropertyChanged, когда его данные были обновлены. В вашем файле MainWindow.cs вы можете установить DataContext элементов вашей ячейки для этих ViewModels. Наконец, в вашем XAML вы можете связать вещи, которые вы пытаетесь показать, с помощью свойств в вашей ViewModel.
Я знаю, что у меня много подробностей, но это отправная точка. Здесь вам помогут, если понадобится.