<i>Is the "object" configured to run in the "Same thread as caller"?</i><p> Yes. But that doesn't explain (to me) the connection - given that one execution path is not even running, why is the other penalized?
MORE INFORMATION: If I make the object RE-ENTRANT, the execution time is back to "normal", regardless of priorities. That's not a real solution for me, as I have shift registers within the object I need to keep, but maybe it's a hint as to what's going on.