title: when calling external library method Task does not end after timeout
body: <p>I am trying to call an external library method which is taking very long so I am trying to put a timeout on its execution. My problem is that the timeout does not seem to have any effect on it...</p>
  
  <p>Here is my code:</p>
  
  <pre><code>  private void SomethingLong(int refernce)
      {                
              externalLib.externalMethod(reference);
  
      }
  
  private void button2_Click(object sender, EventArgs e)
      {
          MyLauncher(myReference);
      }
  
   private async void MyLauncher(int reference)
      {
          Task task = Task.Factory.StartNew(
              () =&gt;
              {
                  SomethingLong(reference);
              });
          if (await Task.WhenAny(task, Task.Delay(8)) == task)
          {
              label1.Text = "Task Completed";
          }
  
          else
          {
              label1.Text = "Timeout";
          }
      }
  </code></pre>
  
  <p>If I try the same code with just a sleep in SomethingLong method, it does work. But with the external library it is giving me problems, the timer has no effect and the method takes the same time it would without the timer. What am I getting wrong? </p>