関数から戻る際にローカル変数の実体が消えるのはともかく、戻り値の実体までも消えるのは変だと思います。 僕が間違ってなければ、1コメで示した画像の例ではちゃんと上位のスコープだと思うんですけど……違いますかね?