Falha de HttpClient GetAsync em tarefa em segundo plano no Windows 8

Eu tenho um aplicativo Win RT que tem uma tarefa em segundo plano responsável por chamar uma API para recuperar dados de que precisa para se atualizar. No entanto, me deparei com um problema; a solicitação para chamar a API funciona perfeitamente quando executada fora da tarefa em segundo plano. Dentro da tarefa em segundo plano, ele falha e também oculta qualquer exceção que possa ajudar a apontar para o problema.

Eu acompanhei esse problema pelo depurador para rastrear o ponto problemático e verifiquei que a execução é interrompida em GetAsync. (O URL que estou passando é válido e o URL responde em menos de um segundo)

var client = new HttpClient("http://www.some-base-url.com/");

try
{
    response = await client.GetAsync("valid-url");

    // Never gets here
    Debug.WriteLine("Done!");
}
catch (Exception exception)
{
    // No exception is thrown, never gets here
    Debug.WriteLine("Das Exception! " + exception);
}

Toda a documentação que li diz que uma tarefa em segundo plano pode ter tanto tráfego de rede quanto necessário (estrangulado, é claro). Então, não entendo por que isso falharia, ou sei de qualquer outra maneira de diagnosticar o problema. o que estou perdendo?

ATUALIZAÇÃO / RESPOSTA

Graças a Steven, ele apontou o caminho para o problema. No interesse de garantir que a resposta definida esteja disponível, aqui estava a tarefa em segundo plano antes e depois da correção:

Antes

public void Run(IBackgroundTaskInstance taskInstance)
{
    BackgroundTaskDeferral deferral = taskInstance.GetDeferral();

    Update();

    deferral.Complete();
}

public async void Update()
{
    ...
}

Depois de

public async void Run(IBackgroundTaskInstance taskInstance) // added 'async'
{
    BackgroundTaskDeferral deferral = taskInstance.GetDeferral();

    await Update(); // added 'await'

    deferral.Complete();
}

public async Task Update() // 'void' changed to 'Task'
{
    ...
}

questionAnswers(2)

yourAnswerToTheQuestion