if class Run On property is set to called from then objects will be created is determined by menu item's RunOn property so its not always true "class RunOn property takes precedence over MenuItem RunOn property"
So for example I have class A whose runon is set to called from and I have menuitem A whose runon set to server then objected created for classA will run on server as menuitem run on is set to Server