Hi @cmpxchh8b,
No worries at all since it's one of your first posts, but please make sure to read and apply the rules defined on the following topics:
How to Post Questions. (Add proper tags in your case)
Q&A Functionality.
Regarding your question, if an object gets the same priority it's from top to bottom. Then you can find valuable information about priority in the c4d help
With the given example you mentioned in the post here is the execution order after some internal test. (First one is executed before the last one)
Skin.1 (Called to some kind of prepass)
Skin.2 Called to some kind of prepass)
Polygon.1
Skin.1
Circle (ObjectData which return a Spline, Called to some kind of prepass)
Circle (ObjectData which return a Spline, Called to return the cache)
Null.1
Null.2
Null.3
Polygon.2
Skin.2
XPresso.1
XPresso.2
XPresso.3
Note that any ObjectData can be executed multiple time since you can call AddToExecution which allow you to add the current node at any time within the execution pipline. This is basically used to do some kind of prepass and postpass.
Hope it's answers to your question.
Cheers,
Maxime.