any details on internal threading model?

I’m experiencing sporadic event dispatching timeout ANR’s in an app that doesn’t appear to have anything significant going on that might block the UI thread from being responsive.  But, then again, I don’t know exactly what sorts of things are or are not run on the UI thread internally.

Are there any guidelines available in this regard?  Is it at least safe to assume that the “core frame loop” of Corona is threaded separately from the UI?  Including ticking all the various subsystems like timers, transitions, physics, runtime enter frames, etc – is all that decoupled?

How about event listener *callbacks*, particularly system/key/touch event callbacks – are those likewise decoupled from the realtime UI thread and dispatched as part of a decoupled frame loop too?

If so, what’s LEFT that can potentially operate realtime and block on the main UI thread?  How about any of the libraries that imply network traffic, including analytics, ads, gplay, store, etc – does any of that networking occur on the main UI thread?

Or how about if worded this way:  if you wanted to INTENTIONALLY create the world’s worst Corona app that constantly ANR’d by design, then what sort of calls might you be making?  (then I can look to see if i’m doing any of that and rework it)

thx