How can it be disconnected if it doesn't do anything but join?
To answer this question, I'll give an example.
ON CONNECT I join a whole pile of channels.
ON JOIN I do channel-based
/who and
/mode commands to update my IAL/IBL.
One network I join has approximately 8,000 users total in the channels I join. Every time I joined that network, and auto-joined those channels, I'd excess-flood myself off.
I had to use a similar method to delay the joining of my channels to spread the
/who load over time.