Hello, you didn't try to do point 4 & 5 from maroon's post.
Please try to disable any antivirus or firewall software (adding an exception might not be enough, it's best to try with them completely disabled, most of them allow you to do that temporarily).
How are you connecting to freenode, are you connecting automatically when mIRC start? How are you joining channels, are you automatically joining channels after connection?
Check the perform section in the options (alt + o > connect > options > perform), this option is equivalent to the on connect event which can be used in a script to do something after connecting, see if you have anything being executed there.
If you stop joining channels on freenode and just try connecting, do you see a freeze?
I'll do some more tests later, but looks like that running mIRC with the debug mode helps with the problem (sometimes it's not even sluggish at all, dunno why)
This debug is not responsible for the better being of your machine, or it would be extremely weird if it were. If you saw an improvement, it means something was different.
Make sure you have enough disk spaces, make sure mIRC is not taking 2GB of ram.
It's also worth looking at mirc.ini and check if you see anything wrong.
Ultimately try to install a clean copy of mIRC (create a new folder anywhere and put a blank mirc.ini file in it, then just copy the mirc.exe program you are currently using in that new folder and run it, mIRC will fill the blank mirc.ini file with default value and will use it).
That being said, someone more skilled than you are would probably pinpoint the issue quickly, I can help you using teamviewer if you want, check my signature to find me on IRC
Edit: as pointed out by Westor, Upnp might be the issue, check out alt + o > connect > options > Ports and then the Upnp settings, uncheck everything and try.