У меня была такая же проблема, и я решил ее, изменив Xaml RichTextBox:
<RichTextBox>
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
</RichTextBox>
Не знаю, чем это отличается от настройки стиля вручную, как вы сделали, но для меня этосработало.
Обновление : чтобы изменить его в коде, вам нужно использовать целевой тип в качестве ключа:
Style noSpaceStyle = new Style(typeof(Paragraph));
noSpaceStyle.Setters.Add(new Setter(Paragraph.MarginProperty, new Thickness(0)));
rtb.Resources.Add(typeof(Paragraph), noSpaceStyle);