> Calling an objects methods with parameters is tied to that execution context.
Not necessarily - this depends on the language, or rather, on the object model. But consider COM or CORBA: you call a method, but the object might be on a different machine altogether.
Message passing allows for you to have the receiver of the message run in a different execution context; for example erlang.
Calling an objects methods with parameters is tied to that execution context.
Message passing is a larger concept than OOP. Microkernels for example are built around message passing as the means of communication.