As I recall if the table's immediate child is a widget, it will use that widget's dimensions as the bounds for its calculations. If the object is a game object rather than a widget, then it will go down the more expensive (and slower) route of adding up all of its widget's bounds.
So your container element must be a plain game object, not a widget.