Only marginTop and marginLeft set in theme are recognized at design-time and run-time. Please see image attached.
The margins are the space relative to other widgets that are managed by one of the layout engines on the client. In the screenshot you can see the top-left margin because the table widget was shifted by the top-left margin, but you cannot see the bottom-right because the inner size of the widget is not altered by the margins, it would show only if there was another inner widget participating in the layout.
For example, if you set the margin of the inner label component in a treenode or a button you can see the inner content rearrange depending on the margin.
To create an inner space use the padding. However, with the table the padding may be used (overridden) by the class if there are controls docked inside the grid.
Basically the margin in theme is not the margin of the control. At the control level, the margin property is managed by the layout engine on the server. The inner components of the widgets are managed by the client layout engines.