We need a Java Thread Dump in order to understand why ZAP is freezing for you.
If you are running ZAP in Linux / MacOS then you can generate this using "kill -3 <zap-pid>" Where "<zap-pid>" is the Process Id of the ZAP process.
If you ae running ZAP on Windows then start ZAP using the zap.bat file and generate a thread dump by using the Ctrl + Print Screen buttons.
In either case only do this when ZAP has frozen for you.
You should get the thread dump output to the terminal - we need you to give that to us, eg on this thread.
Does that make more sense?
Cheers,
Simon