curly Braces:
this is because of Binding-Syntax and WPF (Xamlreader and XamlWriter) wants to help you ;).
When in your XAML-Code is something like
<Run Text="{" />
the Xaml-Engine first assumes a binding. Since there is no and depending on how you create your FlowDocument the '{' is Escaped to '{}{'
One Workaround is, that you put your curly brace like this:
<Run>{</Run>
another workaround is to avoid that the curly brace is the first character:
<Run Text=" {" />
spaces: There is an attribute which comes in handy:
<Run xml:space="preserve">some Space</Run>
this isn't a Xaml but an XML attribute which is handled by the Xaml-Engine.