I've had a crash like this happen before, when I accidentally used a vanishing powder grenade out of combat in a zone I just cleared out. This was months ago though so I don't have any crash logs for it.
I'm not a professional programmer, but it might be an array overflow if I had to wager a guess. Something might be going wrong when it's grabbing all the entities in a zone to check for detection. If the game was made in C++ it would also explain why sometimes the game crashes and sometimes it doesn't. Since array overflowing in C is pretty much a coin flip in whether the program decides to roll with it or not.