Sorry to take so long to respond. I am not sure what your processDefinitionId would be. I assume it's a unique id representing your process. Instead of using the startProcessInstanceById, I have opted to use startProcessInstanceByKey. This key is the business Id I have applied to the objects passed in and out of this process. could you try this option and see if you get better results?
Jim