Inside the loop, GetStringAsync to a string var local to that bit of code. When you have the string, lock the StringBuilder while you do the append.
Untested example, cos I'm not doing it all for you. :)
using (HttpClient client = new HttpClient())
{
string s = client.GetStringAsync(url).Result.ToLower();
lock(result)
{
result.Append(s);
}
Debug.WriteLine(count);
count++;
}
For more info, see here.