Yes, probably over-thinking...
References aren't copies. Shouldn't be too much memory use.
Part of the confusion is that they are local variables. If the function has returned then in my mind the local variable should have disappeared and along with it the reference count it held.
But yes, the code is as you said and in addition to it, a main event loop with:
for each obj in objList
obj.draw()
end for
So, that's why I thought maybe "breadth" instead of "depth" ( stack ) because the refcnt number appears to coincide with the number of objects on the screen.