I have this RTF text:
{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Arial;}}
{\\colortbl ;\\red0\\green0\\blue0;\\red255\\green0\
Do you really have to start with a string?
One method to load RTF is this:
rtfBox.Selection.Load(myStream, DataFormats.Rtf);
You probably should call SelectAll() before that if you want to replace existing text.
So, worst case, you'll have to write your string to a MemoryStream and then feed that stream to the Load() method. Don't forget to Position=0 in between.
But I'm waiting to see somebody to come up with something more elegant.