I think loading the executable icons (and any such action, e.g. checking for packing, etc.) should be done in a dedicated thread with low-priority I/O.
I haven't checked to see if this is currently the case, but I feel like it isn't... and doing so would improve startup times when the system is under I/O load (since sometimes PH hangs until everything is loaded, even though the main screen and stuff is already loaded).