Thanks for the detailed report. A sample taken while iTerm2 is frozen will tell us exactly what it's stuck on, which is the fastest way to make progress.
Since iTerm2 itself is the thing hanging, you'll need to capture the sample from another app — Terminal.app works well. Here's the easiest way:
1. Open Terminal.app (or any other terminal).
2. Reproduce the freeze in iTerm2 — for example, run tar -tf xxx.tar so the UI is hung with the spinning beachball.
3. While it's still frozen, switch to Terminal.app and run:
sample iTerm2 5 -file ~/Desktop/iterm2-sample.txt
3. That captures 5 seconds of stack traces.
4. Once it finishes, attach ~/Desktop/iterm2-sample.txt to a reply.
It would also help to know the iTerm2 version: please send the exact version from iTerm2 > About iTerm2 (e.g., 3.6.x or a beta build number). If you're not on the latest beta, it's worth trying that first. Go to Settings > General > Selection and set the update channel to “Latest Beta Test Release,” then check for updates.
The sample is the most important piece. Once I see where it's stuck I can almost certainly point at the cause.