fix leak with NSInvocation retaining target