Это происходит так как нет элемента занимающего свободное пространство. Можно поступить двумя способами:
либо добавьте какой-то контейнер:
<DockPanel Height="Auto">
<Button DockPanel.Dock="Right" Width="50">dock 2.1</Button>
<Grid>
</Grid>
</DockPanel>
либо установите для кнопки HorizontalAlignment="Right".
Первый вариант предпочтительнее.