If a function I call returns a TStringList (with a TStringList.Create) and I don't assign it to a variable but use it once directly (like Data:=MyTStringFunction.Values['data'];) will I have a memory-leak or will the TStringList be freed automatically?