This happens when primary monitor is with lower resolution. Maximize the pane on the primary monitor, then maximize it to the second monitor - the maximized state is incorrect.
Add overloads for LoadLayout and SaveLayout methods of the Docking control with parameter of type XElement instead of Stream. Change the Save/Load layout code to use LinqToXML instead of XmlReader and XmlWriter.
In the following scenario: Floating Pane's size has been changed. The layout has been saved. The layout has been loaded. The Pane has been docked. Making the Pane floating should retain the custom size from point 1.