8009ccb8: CEntity::CastWithType
80098c64: CScriptTrigger::CastFromEntity
80162030: CEnvFxManager::BuildBlockObjectList
80164f40: CEnvFxManager::UpdateBlockedGrids
801664f8: CEnvFxManager::Update
8003f39c: CStateManager::Update
8001f434: CMFGame::OnMessage
800493d4: CIOWinManager::DistributeOneMessage
80049728: CIOWinManager::PumpMessages
That's a bug in CEnvFxManager. That class is naive and assume that any object in the object list is valid, but there's a situation of when an object is being discarded it's kept in the list for a frame so cleanup can be done.
Ideally we would fix that game bug.