Exécuter la méthode "async" sur un thread d'arrière-plan

Je suis en train de lancer un "async" méthode à partir d'une méthode ordinaire:

public string Prop
{
    get { return _prop; }
    set
    {
        _prop = value;
        RaisePropertyChanged();
    }
}

private async Task<string> GetSomething()
{
    return await new Task<string>( () => {
        Thread.Sleep(2000);
        return "hello world";
    });
}

public void Activate()
{
    GetSomething.ContinueWith(task => Prop = task.Result).Start();
    //^ exception here
}

L'exception renvoyée est:

De démarrage ne peut pas être appelé sur une poursuite de la tâche.

Ce que ça veut dire, de toute façon? Comment puis-je exécuter simplement ma méthode asynchrone sur un thread d'arrière-plan, envoyer le résultat dans le thread de l'INTERFACE utilisateur?

Modifier

Aussi essayé Task.Waitmais l'attente n'en finit pas:

public void Activate()
{
    Task.Factory.StartNew<string>( () => {
        var task = GetSomething();
        task.Wait();

        //^ stuck here

        return task.Result;
    }).ContinueWith(task => {
        Prop = task.Result;
    }, TaskScheduler.FromCurrentSynchronizationContext());
    GetSomething.ContinueWith(task => Prop = task.Result).Start();
}

source d'informationauteur McGarnagle