Explain retain cycle problem and new  call