We may be interpreting Dan’s comment about 3 hours too literally. In any case, it does seem very likely that the problem is what you think it is. The size of the output of your job, in whatever low-level machine control format Glowforge has come up with, is limited. So it’s quite easy to take even a small engraving, crank up the settings, and get a failure to chooch. I would assume there’s another limit at play here as well, taking some guesses at the kind of architecture I’d build for this. Presumably when you press that print button, your job is queued up for processing, and at some point a free worker comes along and grabs it and turns it into GF-Code. That process itself may time out before finishing, even if it was on its way to generate something that could fit in the Glowforge’s memory. That might explain why resubmitting sometimes works.
I’ll give them a free user story that should be in the backlog if it isn’t already:
As a Glowforge owner, I want the entire job pipeline to support the maximum possible size file, at the maximum possible quality level, so that I can design projects without having to worry about being unable to print them.