例えばファイル名を入れて関数を呼んで、
処理結果を入れた配列なりのリファレンスを戻り値で返す
別のファイル名で同じ関数を呼んで、結果のリファレンスを別の変数で受ける

それで普通に動くんだけど、
なぜ同じ関数のmyで宣言した変数が違うオブジェクトを指しているのか、
なぜ古い方は消えてしまわないのか、
そもそもいつまで残ってるのか、
みたいな部分が何となく不安

参照カウントの仕組みを理解しても、やっぱり不安