ciao a tutti! (oggi stresso)

ho creato una pagina aspx per l'invio di una mail con allegato.
in breve la procedura fa questo:

1 mi carico il file da un controllo asp:fileupload
HttpPostedFile[] uplFile = new HttpPostedFile[5];
uplFile[0] = FileUpl_1.PostedFile;
.....

2 carico il file sul server
uplFile[i].SaveAs(Server.MapPath("") + NomeFile[i]);

3 preparo il messaggio da spedire
MailMessage myMes = new MailMessage();

4 allego i file
myMes.Attachments.Add(new Attachment(Server.MapPath("") + NomeFile[i]));

5 spedisco la mail
SmtpClient sclient = new SmtpClient();
sclient.Credentials = CredentialCache.DefaultNetworkCredentials;
sclient.Send(myMes);

6 per ultimo elimino i file che mi ero caricato
File.Delete(Server.MapPath("") + NomeFile[i]);


fino al punto 5 tutto funziona perfettamente, la mail la ricevo con tutti gli allegati.
quando passo a cancellare il file però ricevo questo errore:

Error: The process cannot access the file 'D:\Inetpub\....\public\temp\Nuovo documento di testo.txt' because it is being used by another process.

ho provato anche a collegarmi tramite FTP ma niente. non riesco a eliminarlo, ricevo errore 450 (filezilla).

dopo una mezzoretta pero riesco tramite FTP a eliminare il file.

Qualcuno mi sa dire dove sbaglio? ho paura che nella procedura non chiudo qualcosa ma non capisco cosa.

ciao