I have a set of nightly reports.
Sometimes I get the exception:
The process cannot access the file because it is being used by another proce
Confirmed. I had a similar problem and did what Greg said.
In finally block after sending the message, I just put this in there, and it released the file handles:
finally
foreach(Attachment a in message.Attachments) a.Dispose();