We have the same issue, but with a little variance...
We have temporary tables that are build on the fly, but some of these temporary tables have queries using them. Because these tables do not exist until right before the query is run or opened and are cleaned up after the process completes...