Como parar o XMLReader que lança exceção de caracteres XML inválida

Então, eu tenho um pouco de XML:

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

e um XMLReader:

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

Eu implementei o método CleanInvalidCharacters deaqui mas como o "" ainda não está codificado, ele não será removido.

O erro está sendo lançado no reader.Read (); linha com exceção:

valor hexadecimal 0x0B, é um caractere inválido.

questionAnswers(1)

yourAnswerToTheQuestion