You're not giving it the
default width. You're giving it
the width. That's why it's getting pushed out. The GridSplitter controls the width of the cell that it's in. I think your XAML is wrong in that regard, because you have it in it's own cell.
You can define some constraints by specifying MinWidth values. WPF frowns on hardcoding height and width values. Here's what I think you want.
<window x:class="CpGridSplitter.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="550" MinWidth="550">
<grid>
<grid.columndefinitions>
<columndefinition width="Auto" minwidth="50" />
<columndefinition minwidth="500" />
</grid.columndefinitions>
<button grid.column="0" content="Foo" />
<gridsplitter grid.column="0" width="5" />
<webbrowser grid.column="1" source="http://www.bing.com" />
</grid>
</window>