はまった...

.NET FrameworkのRichTextBoxコントロールで,

string wd = "検索ワード";
int spos = 0;
int fpos = -1;
while (-1 < (fpos = this.richTextBox.Find(wd, spos, RichTextBoxFinds.WholeWord)))
{
    // いろいろ...
    spos = fpos + wd.Length;
}

とやると,なぜか無限ループになってしまいました.
どうやらこれが原因らしいです.
Find メソッド、開始パラメーターが、最後のパラメーターと等しい場合リッチテキスト ボックス コントロールの文字列全体を検索します。

public int Find (string str, int start, int end, RichTextBoxFinds options)

この関数のendにLength+1を指定して,無事解決しました.( ´Д`)