¿Cómo cancelar una tarea en espera?

Estoy jugando con estas tareas de Windows 8 WinRT, y estoy tratando de cancelar una tarea usando el método a continuación, y funciona hasta cierto punto. El método CancelNotification se llama, lo que te hace pensar que la tarea se canceló, pero en segundo plano, la tarea continúa ejecutándose, luego, una vez completada, el estado de la tarea se completa y nunca se cancela. ¿Hay una manera de detener completamente la tarea cuando se cancela?

<code>private async void TryTask()
{
    CancellationTokenSource source = new CancellationTokenSource();
    source.Token.Register(CancelNotification);
    source.CancelAfter(TimeSpan.FromSeconds(1));
    var task = Task<int>.Factory.StartNew(() => slowFunc(1, 2), source.Token);

    await task;            

    if (task.IsCompleted)
    {
        MessageDialog md = new MessageDialog(task.Result.ToString());
        await md.ShowAsync();
    }
    else
    {
        MessageDialog md = new MessageDialog("Uncompleted");
        await md.ShowAsync();
    }
}

private int slowFunc(int a, int b)
{
    string someString = string.Empty;
    for (int i = 0; i < 200000; i++)
    {
        someString += "a";
    }

    return a + b;
}

private void CancelNotification()
{
}
</code>

Respuestas a la pregunta(4)

Su respuesta a la pregunta