OnEndPrint() doesn't do anything but directly call Windows' EndDoc() API function. Pointing at a problem with the print subsystem of Windows. Technically, it would be possible for your PrintPage event handler to be causing this problem, when it allocates a lot of pens, fonts or brushes whose Dispose() method you don't call. Make sure you use the using statement in your code.
Hans Passant.
Hans Passant.