This is a feature. If you set gnus-thread-hide-subject to non-nil, GNUS will only display the subject of the first posting in a thread, even if some of the replies use different subjects. It hides the subjects by putting them past the edge of the window and setting truncate lines to t.
If your screen looks messed up, then for some reason truncate-lines in your `*Subject*' buffer has been set to nil. It should be set to t.
(I have an enhancement to GNUS 3.13 that will make it only hide the subject of a posting when it is unchanged from the followed-up-to posting. Thus, you can use the subject hiding feature and still know when someone changes the subject. (I have forgotten who originally gave me the idea for this.))