2) Übergebe ich List ohne var, so wird die übergebene Referenz nicht auf nil gesetzt, d.h. nach Anwendung der Funktion auf eine Stringliste ist zwar das Objekt weg, aber die Referenz nicht nil.
darüber gibt es unterschiedliche Meinungen - da Du in aller Regel anschließend nicht mehr auf die Liste zugreifst, macht es auch nix aus, wenn da Blödsinn drin steht.
Wenn Du anschließend (d.h. nach der Freigabe) darauf zugreifst, dann hast Du einen anderen (!) Fehler in der Anwendung.
Leider finde ich die beiden BlogPosts von Nick Hodges zu dem Thema nicht mehr.