title: TaskCanceledException when calling Task.Delay with a CancellationToken in an keyboard event
body: <p>I am trying to delay the processing of a method (SubmitQuery() in the example) called from an keyboard event in WinRT until there has been no further events for a time period (500ms in this case).</p>
  
  <p>I only want SubmitQuery() to run when I think the user has finished typing.</p>
  
  <p>Using the code below, I keep getting a System.Threading.Tasks.TaskCanceledException when Task.Delay(500, cancellationToken.Token); is called. What am I doing wrong here please?</p>
  
  <pre><code>CancellationTokenSource cancellationToken = new CancellationTokenSource();
  
  private async void SearchBox_QueryChanged(SearchBox sender, SearchBoxQueryChangedEventArgs args)
  {
  
          cancellationToken.Cancel();
          cancellationToken = new CancellationTokenSource();
  
      await Task.Delay(500, cancellationToken.Token);
  
      if (!cancellationToken.IsCancellationRequested)
      {
          await ViewModel.SubmitQuery();
      }
  }
  </code></pre>