var
 A,B : TStringList ;
の時
 A := TStringList.Create ;
 B := TStringList.Create ;
 A.Add('あいうえお');
 B.Add('かきくけこ');
として
 A := B ;
とすると、変数A,Bはそれぞれのインスタンスへのポインタに過ぎないので
変数A,Bはどちらも同じインスタンスを指すことになる。
(↑ここまではあってますよね?)

このとき、変数Aがもともと指していたインスタンスはどうなってしまうのですか?
A := B ;の時点で開放されるのでしょうか?
それともプログラム終了まで、メモリに残るのでしょうか?
もしメモリに残っているのなら、どうやって参照すればよいのでしょうか?