If you experience long delays when you print large files in Windows 7 or Windows Server 2008 R2, then this article may interest you.
When you print a file on a computer that is running Windows 7 or Windows Server 2008 R2, a block of memory equal to the size of the spool file is allocated.
This memory is not released until the print job is finished. So when you print a high resolution photo or several copies of a photo, the spool file size can be several Gigabytes.
Although this is a common operation, it may cause memory swapping if the spool file is larger than the available physical memory. This behavior significantly increases how long it takes to finish the print job.
In Windows Vista or Windows Server 2008, when the spooling is completed or delayed, the allocated memory will be freed. In Windows XP, a large block of memory cannot be allocated.
For example, you are printing a hi-resolution photo, or several copies of a photo. The spool file can easily go over several GBs. Therefore, an amount of memory equal to the spool file is allocated and not freed until the job is finished. Therefore, the issue occurs.
To address this issue apply hotfix Fix310508 which you can download from KB983401.