I've noticed one funny thing: I was subclassing a form class which had a grid with, say, 10 columns, and wanted to cut it down at 2-3 columns in form's init. In the debugger, I've seen the columncount go down to 2, but the columns collection still had 10 members, and the refresh fired for all of them.
I suppose you can't possibly release any of the objects defined at the form's class level - I've changed the approach and moved the inherited grid left to -2*grid.width, and addobject()ed another grid just to suit my needs, and it does work. What puzzles me is why did it accept the smaller columncount at all? Specially when it has no effect. Was the debugger simply lying?