Maybe this is fiddly to do, but I wonder if a check for victory could happen earlier in the loop? Maybe after every enemy dies the game could check to see if it was the last enemy?
In this run with sheriff / flamingo / brawler, the sheriff had like 60 invoke, but had killed the last enemy with still a lot of invokes to go.
Instead of ending when the last enemy died, the game continued going through all of the Sheriff's remaining invokes (none of which had any target left).
I notice similar pauses sometimes in gameplay - presumably something to do with evaluating actions of dead allies or enemies?
This is kind of a nitpick - I'm sure there are bigger issues to fix/features to introduce, but it's something I've noticed a few times now.