Cómo eliminar caracteres no ascii de datos XML

Tengo algunos datos XML que están en el siguiente formato. Se supone que mi aplicación debe leer esto usando un XMLReader y procesarlo. Sin embargo, para que eso suceda, necesito eliminar o reemplazar la primera parte de cada línea, específicamente el<���.

<���<XML>....data....</XML>
<���<XML>....data....</XML
<���<XML>....data....</XML>    
and so on...

Intenté lo siguiente después de mirar algunas publicaciones en SO, pero hasta ahora no he tenido éxito. Cualquier ayuda será apreciada!

private static Regex _invalidXMLChars = new Regex(
@"(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F\uFEFF\uFFFE\uFFFF]",
RegexOptions.Compiled);

        static string ReplaceHexadecimalSymbols(string txt)
        {
            return _invalidXMLChars.Replace(txt, string.Empty);
        }

Nota: Tomé mis datos XML que están en formato .txt e intenté llamar a la función en cada línea pero no funcionó ... los caracteres seguían allí después de llamar a la función.

Respuestas a la pregunta(1)

Su respuesta a la pregunta