It's a little hard to explain. I do initially siege exactly as you described it, but I fine tune as necessary to maximize the utility of the siege tower(s). Can't really do much to Octodurus, since it only has room for one siege tower.
Shortly after, when defenders come out (including mercenaries, if necessary), I order my ranged army to focus fire on one of their defending units to get them to rout as fast as possible. Sometimes I manually disengage my melee brigades from the city and pair them, one at a time, with each of the defenders.
Regarding reproduction, it could be my Windows 8.1 desktop, whose quality is all over the place. I currently play under the lowest settings without Anti-Aliasing. If it weren't for the significant resource consumption of my recording program, CamStudio, I could record a session and see if I can reproduce it on video.
Still, I will try your approach of simply playing it out and see if I can come up with anything different...
Update 1: I'll be darned. Just playing it out like you reported resulted in Octodurus surrendering. Compared to before, this is new. I did lose two slinger brigades just watching it play out
Update 2: Interesting. I mixed the tactics a little by sending in the melee units and a siege tower first, and then I sent in the ranged units when the melee were about half way to the city. Despite just playing it out afterward, still no crash, and I lose no units, either!
Update 3: Okay... I followed upon the previous edit's tactics and actively had the ranged units shoot down the defending units to limit recruits required to replace the losses. Still no crash!
Update 4: I suspect I have finally tracked down the origin. If I keep only the southeastern corridor occupied, I seem to be fine. If I use the slingers/archers to occupy any other corridor as well, then it crashes!