suggestion resolved - change the delegate declaration from assign to weak