What I would do is step through the code in the debugger and see if I could
catch it failing to see under what conditions it fails. It's so hard to
track down bugs that only happen sometimes, so I always try to figure out
what the conditions are that cause the failure. I would also break out each
action into a separate line of code so you might be able to narrow it down
even further. In this case, I would split up the .Add from the .SaveAs and
see if that helps you at all.