recently was experimenting with async and await using c#. This is my code

```
private async void button1_Click( object sender, EventArgs e )
  {
    textBox1.Text = string.Empty;

    var client = new WebClient();

    var sw =  Stopwatch.StartNew();

    var downloadStringTask = client.DownloadStringTaskAsync("http://www.google.com");

    textBox1.Text += "Downloading string async "+sw.ElapsedMilliseconds;
    sw.Restart();

    await downloadStringTask;

    textBox1.Text += Environment.NewLine + "Downloaded "+sw.ElapsedMilliseconds;
    sw.Stop();
}

```

and this the output im getting in textbox1.text

```
Downloading string async 5698
Downloaded 666

```

this means only calling the `DownloadStringTaskAsync()` is taking around `5.6 Seconds` to execute where as actual downloading is taking `<1 second`. When the reason this method is to be used is to save Thread Resources.

If this is true is there any actual case where this method of WebClient class should be used?? Or im just thinking in totally incorrect terms?