Cómo evitar que XMLReader arroje una excepción de caracteres XML no válida

Entonces tengo algo de XML:

<key>my tag</key><value>my tag value &#xB;and my invalid Character</Value>

y un XMLReader:

using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
     while (reader.Read())
     {
         //do my thing
     }
}

He implementado el método CleanInvalidCharacters deaquí pero como el "" aún no está codificado, no se elimina.

El error se está lanzando al lector. Read (); línea con excepción:

El valor hexadecimal 0x0B es un carácter no válido.

Respuestas a la pregunta(1)

Su respuesta a la pregunta