You may be better off using a DataGridView. You can just bind your data to the grid and a Boolean column will automatically generate a column of check boxes.

If you really do want to use a GroupBox and add CheckBox controls manually then I'd probably suggest using a TableLayoutPanel. You can loop through the rows of the table and, for each one, create a CheckBox and add it to the TLP. Once you're done you can use the size of the TLP to resize the GroupBox if needed.