Be aware that following the above article will produce you duplicate mobjects for OpportunityPersonRole, even if you have specified Upsert as operation. To overcome this, you should either send while updating the OpportunityPersonRole id (returned from Marketo the first time the object was created) or, create (through support) custom field on the OpportunityPersonRole which will act as external key. This external key will have unique value that you pass from your CRM system. This field should be both specified as external key and added as association attribute.