One of the differences between the Execute on Server method attribute and the Execute on Server command is that when using the command it behaves like the New Process command in the sense that the method being called will execute asynchonronously on the server and the calling method will continue to execute as well.
On the other hand, when using the Execute on Server method attribute, it does not behave like the New Process command in the sense that the method being called will execute synchronously on the server while the calling method waits for it to finish.
This execution context also carries over to single-user where, if not running in client-server, the Execute on Server command will function as if New Process was called. In that same vein, the Execute on Server method attribute will not.