In the case of 905/289/soon-to-be-365, you need to assign at least one NXX to each individual rate centre for each individual ILEC/CLEC. A few dozen rate centres, a few dozen different CLECs who want to serve the rate centres and you get the idea. 289 now even has Bell Canada telephone numbers assigned to it in the GTA, and the area code is nearly full due to the way the NXXes are assigned.
Toronto is different. It's all one massive rate centre. You only assign NXXes as needed for Toronto and that's it. 647 still has quite a bit of room, but I suppose the CRTC sees fit to implement their own third area code at the exact same time so Toronto does not feel inferior for the next five years or so until it's actually needed.