Here is the explanation, a possible solution depends on what it is that you want to do with these 3 columns:
I have created a very basic form with this structure using a flowed main page and a flowed western subform with the repeating column rows. When there is no age break things look correct:


If column 1 has more lines than fit it throws a page break but the other columns have not been layouted yet. So they end up on the next page. The bigger the difference in lines between first column and the others the weirder the result will get.

If the middle row has more entries than the first row you get this

With varying length of each row you get all kinds of combinations of this behavior. This is not a bug but lies in the nature of how the renderer operates on the subforms and columns. Western text works from left to right, Flowed vertical from top to bottom.
So here my question, what is it exactly that you want to do with these subforms, Is it a table? Are the rows linked between the subforms or is this just content that should spread over he three columns?