Wieso gibst Du Objekte frei, die Du gar nicht erzeugst? Und die Verwendung von try-finally ist ein wenig, na sagen wir mal "kreativ". Ich würde Dir raten: schreibe Dir eine Methode zum Herunterladen, der Du die Quell-
URL und die Zieldatei als Parameter übergibst. Dann rufst Du nur noch diese auf.