WebException al leer el flujo de respuesta de WebException

Me estoy comunicando con un servidor web de .Net. El servidor web lanza un error interno de 500 servidores y escribe un mensaje de error detallado.

Estoy intentando leer el mensaje de error que se recibe de una excepción web, pero obtengo otra excepción web. ¿Por qué se lanza la segunda WebException?

try
{
  var webResponse = (HttpWebResponse)webRequest.GetResponse();
}
catch (WebException e)
{
  if (e.Status == WebExceptionStatus.ProtocolError)
  {
    // the next line throws a web exception
    Console.WriteLine(new StreamReader(e.Response.GetResponseStream()).ReadToEnd());
  }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta