I have experienced a similar problem with an offline geodatabase, which makes me think it might have something to do with the file structure. For me, it only happens with one specific dataset, which makes me think there's something in that data that, when read, causes the database to become corrupt. Obviously this shouldn't happen, because at no point are we writing to that database, only reading from it. I was curious if there were other people having similar problems; we may have different symptoms, but I'm wondering if it's the same root cause. If so, maybe it's worth logging your queries and seeing if there's a pattern in there before it becomes corrupt. Unfortunately that's not something I can do for my own problem.
-David