You could use Groups for this. In this case, your grid would have 2 groups (Column 1 and Column 2) and 6 Columns (SubCol1, SubCol2, etc.)
Use the Groups property on the band to add a couple of groups, then assign the Group property on each column to the group you want.
Could you provide a bit more detail about how to correctly create the Column objects to be added to the Group's column collection. When I create a Column object and attempt to add it to the collection, I get the following exception "Can't add a null column or a column from a different band to a GroupColumns's collection". The Group property on the Column object appears to be ReadOnly.