初心者ではないですがw、
デストラクタが走って、内部メモリがクリアされるのは
return が終わってからですよね。
a=func();