Альтернативой является хранение данных в формате RTF, который может быть несколько более компактным, чем Xaml, и дает дополнительное преимущество, заключающееся в том, что его легко импортировать в другие приложения, которые не могут анализировать Xaml:
string GetContentAsRTF(RichTextBox rtb)
{
var range = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
using (var stream = new MemoryStream())
using (var reader = new StreamReader(stream))
{
range.Save(stream, DataFormats.Rtf);
stream.Position = 0;
return reader.ReadToEnd();
}
}