Have you checked to see if there is a log trace file - or something written to the non-error log that might contain more information for the developers? The first clue might be to determine whether this occurs in the generation step or only during the print step. You said the documents print fine, so it can't be too significant.
As the text of the message implies, the system is expecting an object (of a certain type) but finds something else. This might not literally mean it found a field when it was looking for a text object, although possible. More likely this means a NULL object was encountered or perhaps an empty list where at least one object was expected. For example, certain barcode objects would expect a list of lines to reference. If that list was empty, you might receive such a message. It might also be that the object was there at the start of the operation and queued up for processing, but then the object was removed by some subsequent process before it was actually dequeued. Things like that.
Another scenario that comes to might might be if you are using a mix of versions to develop and produce your output. For instance, if you are using a newer version to create Forms and Sections (FAPs), but using an older runtime to produce output, such a scenario might introduce object types that the old system might not recognize.
If you can narrow it down to a particular transaction - and even further down to the particular form or section - narrowing down the answer might become clearer. Once you have that information, I would suggest reporting it to Support with a formal SR.