WPF thread e GUI como acessar o objeto de diferentes threads?

Eu tenho um thread que chama um objeto que recebe algumas coisas da Internet. Quando este objeto é preenchido com todas as informações necessárias, ele gera um evento com um objeto com todas as informações. O evento é consumido pelo controlador que iniciou o encadeamento.

O objeto retornado do evento é então adicionado a uma coleção que é vinculada à GUI por meio de uma abordagem do View Model.

O problema é que eu não posso usar o CheckAccess com a ligação ... como posso corrigir o problema de usar o objeto que foi criado a partir de um outro segmento do principal?

O erro que recebo quando adiciono o objeto à coleção do thread principal é:

Esse tipo de CollectionView não oferece suporte a alterações em seu SourceCollection de um encadeamento diferente do encadeamento do Dispatcher.

Este é o controlador:

public class WebPingerController
{
    private IAllQueriesViewModel queriesViewModel;

    private PingerConfiguration configuration;

    private Pinger ping;

    private Thread threadPing;

    public WebPingerController(PingerConfiguration configuration, IAllQueriesViewModel queriesViewModel)
    {
        this.queriesViewModel = queriesViewModel;
        this.configuration = configuration;
        this.ping = new Pinger(configuration.UrlToPing);
        this.ping.EventPingDone += new delPingerDone(ping_EventPingDone);
        this.threadPing = new Thread(new ThreadStart(this.ThreadedStart));
    }


    void ping_EventPingDone(object sender, QueryStatisticInformation info)
    {
        queriesViewModel.AddQuery(info);//ERROR HAPPEN HERE
    }

    public void Start()
    {
        this.threadPing.Start();
    }

    public void Stop()
    {
        try
        {
            this.threadPing.Abort();
        }
        catch (Exception e)
        {

        }
    }

    private void ThreadedStart()
    {
        while (this.threadPing.IsAlive)
        {
            this.ping.Ping();
            Thread.Sleep(this.configuration.TimeBetweenPing);
        }
    }
}

questionAnswers(2)

yourAnswerToTheQuestion