Solicitudes web asíncronas usando C #

Hola, tengo una función que pasa los parámetros de obtención de URL a un archivo php en un servidor web y espera una respuesta del archivo (normalmente tarda entre 10 y 20 segundos). Quiero poner esto dentro de un bucle porque tengo que enviar estas solicitudes de Get a aproximadamente 5 archivos php diferentes a la vez, pero cuando trato de agregarlo a un bucle, la función hace que el bucle espere hasta que el archivo devuelva la respuesta antes de irse en el siguiente.

    public string HttpGet(string URI, string Parameters)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URI + Parameters);

        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        StreamReader resStream = new StreamReader(response.GetResponseStream());
          return resStream.ReadToEnd().Trim();
    }

    private void SendCommand()
    {
        for( int i = 0; i <= 4; i++)
        {
            AddRTB(HttpGet(url, paramater));
        }
    }

¿Hay alguna manera de que pueda enviar las 5 solicitudes a la vez sin esperar a que termine la anterior? (Estaba pensando en enhebrarlo, pero por desgracia nunca lo he tocado antes, no sé por dónde empezar).

Respuestas a la pregunta(4)

Su respuesta a la pregunta