The freeze message is often from another mAirList process/window that has been closed since more than a minute ago (that’s the default threshold for the message to appear). So the process was still running, although the main window was already closed/hidden.
If you want to be sure about that, click Details and send me a bug report, so I can look it up.
Older versions (until very recently) sometimes hung during finalization of the encoder. This should (or might) be fixed in all latest v5.2 and v5.3 versions. Or at least happen not so frequently.
Regarding the second question, most people set up an hourly event to load the next playlist from the database, or from a file.