Just out of curiosity, are you calling DoEvents somewhere in there while you are loading all of these bitmaps? I know it's a simple thing, but it can mean all the difference in memory intensive routines.