Is this a known problem or am I missing something?
Are you passing in a PrintDocument to the method? Are you sure that the printer that you have the grid set to print to is actually available and responds in other applications? All of the code that you posted is basically appearance-related, so I'm not really sure how that would cause the appliation to hang. It seems like it's waiting on a response from the printer and/or driver.
-Matt
I have tried to run it on different machines, all having properly configured default printers, but none of them managed to get the grid actually printed.