Dann gibts natürlich keine Warnung, weil der Compiler davon ausgeht, dass die Liste ggf. in der Funktion angelegt und über den Var-Parameter zurückgegeben wird.
Und das Verhalten ist auch schlichtweg falsch - denn var ist ein in/out Parameter - das sollte für eine Warnung vom Compiler sorgen. Nur bei out darf semantisch egal sein, was vorher drin steht.