Thank you, Mathieu. it's good to know.
What about reusing temp object inplace?
i.e.
temp = RegisterGameObj();
SetPosition(temp, pos1)
PostEvent(event1, temp)
SetPosition(temp, pos2)
PostEvent(event2, temp)
UnregisterGameObj(temp);
...
renderAudio()
...
will event1 have pos1 and will event2 have pos2 in this case?