Just for the heck of it I did the following:
<Grid x:Name="LayoutRoot">
<ListBox HorizontalAlignment="Left" Width="283" VerticalAlignment="Top">
<ListBox Margin="0,0,-274,0">
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
</ListBox>
<ListBox Margin="0,0,-274,0">
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
</ListBox>
<ListBox Margin="0,0,-274,0">
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
</ListBox>
<ListBox Margin="0,0,-274,0">
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
<ListBoxItem Content="Text"/>
</ListBox>
</ListBox>
</Grid>
Now I realize the items in the list boxes are not created at run-time, however I created a little button with click handler which adds items to one of the middle listboxes, and everything resizes appropriately.
If you post your code, we can take a look and see what is out of whack.