echo $begrüßung;
Der von der Funktion zurückgegebene Variablencontainer bekommt durch die Zuweisung zu einer Variable lediglich einen weiteren Verweis. Es wird also nur ein Eintrag in der Variablentabelle angelegt, der auf die Stelle zeigt, an der der Rückgabewert bereits liegt. Ein Umkopieren an einen eigenen Speicherplatz findet bei PHP ja erst dann statt, wenn die Werte durch eine Änderung auseinanderlaufen.
Die Frage ist dann also, wie lange dieser Speicherblock erhalten bleibt.
Nun, solange eine Referenz auf den Variablencontainer besteht. Mit unset() oder dem Zuweisen eines neuen Wertes an die Variable steht er wieder zur Verfügung. Eine andere Frage ist: wie relevant ist deine Frage, wird doch am Ende des Script sowieso alles aufgeräumt. In den meisten Wald- und Wiesen-Fällen dürfte es mehr Aufwand bedeuten, das unset() aufzurufen als einfach die Variable liegenzulassen und das Scriptende abzuwarten.
echo "$verabschiedung $name";