Thank you! Mehdi your answer worked for me too with a small adjustment. The line
xl.Application.Visible = True was leaving open a zombie/phantom EXCEL.EXE process using up memory (found it through Windows Task Manager). Using xl.Application.Visible = False instead seems to eliminate the zombie.