Aplicación WPF multiproceso: Invocación del despachador. ¿Una forma más eficiente?

Utilizando .NET 3.5

Hola, chicos, estoy haciendo una aplicación WPF para un proyecto y solo estaba buscando un poco de información sobre Dispatcher y multihilo. Un ejemplo de mi programa:

Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(
                        () =>_aCollection.Add(new Model(aList[i], aSize[i]))));

Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(
                        () => _Data.Add(new DataPoint<double, double>(Id, aList[i]))));

 Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(
                        () => _historical[0].Add(aList[i])));

Entiendo que a WPF no le gusta cuando otro hilo accede a un objeto que no sea el que lo creó. Sin embargo, estaba pensando que seguramente tiene que haber una mejor manera que hacer tantas invocaciones de despachador, ¿podría alguien empujarme en la dirección correcta al menos (si hay una mejor solución).

Cheers, Sparky

Respuestas a la pregunta(4)

Su respuesta a la pregunta