Anderer Vorschlag:
HTML in 'ne MemoryStream laden und zeichenweise in einen zweiten MemoryStream schreiben.
Vor jedem < einen Zeilenumbruch schreiben.
Hinter jedem > einen Zeilenumbruch schreiben.
Alle übrigen Zeilenumbrüche durch ein Leerzeichen ersetzen.
Zweiten MemoryStream in 'ne Stringliste laden.
Diese Stringliste enthält nun nur noch Zeilen, die entweder ein
HTML-Tag enthalten oder nur aus reinem Text bestehen.
StringReplace nur in den Zeilen aus reinem Text ausführen.