Sto sbagliando qualcosa?

Ho un servizio che fa delle operazioni e poi scrive un semplice log con questa funzione

codice:
        Using Logfile As IO.FileStream = IO.File.Open(GetLogFilename(), IO.FileMode.Append)
            Using mWriter As New IO.StreamWriter(Logfile)
                mWriter.WriteLine(messaggio)
            End Using
        End Using
Dopo un pò(2 giorni) è andato in errore dicendo che il file è bloccato da un altro processo.
Teoricamente lo using chiude il file ogni volta.(ed il primo using dovrebbe essere pure inutile)
Sto sbagliando qualcosa?