Encontrar palabras duplicadas continuas .net

Aveces pasa en los texto que quedan palabras repetidas como ” texto es es” pocas veces esto tiene un significado así que podemos encontrarlas y si gustamos eliminarlas.

Acá les dejo el código para encontrar dichas palabras:

<!-- wp:paragraph -->
<p><code><br>
/// &lt;summary&gt;<br>
/// find number words repet in text<br>
/// &lt;/summary&gt;<br>
/// &lt;param name="strWord"&gt;word to find&lt;/param&gt;<br>
/// &lt;param name="bolUpperLowerCase"&gt;&lt;/param&gt;<br>
/// &lt;returns&gt;Match property width find or null if not find&lt;/returns&gt;<br>
public List&lt;Match&gt; FindWordRepetContinue(string strWord, bool bolIgnoreUppercaseLowercase)<br>
{<br>
// Define a regular expression for repeated words.<br>
Regex rx = new Regex(@"\b(?&lt;word&gt;\w+)\s+(\k&lt;word&gt;)\b",<br>
RegexOptions.Compiled | RegexOptions.IgnoreCase);</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code><br>
List&lt;Match&gt; lstmatch = new List&lt;Match&gt;();</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code><br>
// Find matches.<br>
MatchCollection matches = rx.Matches(TextOriginal);</code><br><code><br>
foreach (Match item in matches)<br>
{<br>
if (bolIgnoreUppercaseLowercase)<br>
{<br>
string strTempValue = item.Value.ToLower();<br>
if (strTempValue.ToLower().Contains(strWord.ToLower()))<br>
lstmatch.Add(item);<br>
}<br>
else<br>
{<br>
if (item.Value.ToLower().Contains(strWord.ToLower()))<br>
lstmatch.Add(item);<br>
}</code><br><code><br>
}</code><br><code><br>
return lstmatch;</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>}</p>
<!-- /wp:paragraph -->

recuerden que pueden encontrar la librería completa en  https://github.com/Mteheran/TextManager