Small bugette at ~36.29
The example for Task.WhenAny(t,Task.Delay(1000)); has an error.
You still have :
resultsTextBlock.Text = t.ToString();
this should be :
resultsTextBlock.Text = t.Result.ToString();
otherwise you are returning a Task to the textblock, not the value