Windows.Forms.Splitter の挙動が分からないので教えてください。

ドキュメントに、左右で並べるときは
a.Dock = DockType.Left;
b.Dock = DockType.Left; // <-- Splitter
c.Dock = DockType.Fill;
this.Controls.AddRange(new Control[] { a, b, c,});
って書いてあったんだけど、左右に置く物によって挙動が変わってしまうんです。

たとえば
左 TreeView
右 ListView
正常

左 Button
右 Button
正常

左 Button
右 PropertyGrid
PropertyGrid が左に食い込む

左 Button
右 TextBox
TextBox が左に食い込む

こんな結果です。
TextBox・PropertyGrid が悪さをしてるようなんですが
なんでこうなるんですか?