Rosenbrock methods utilize embedded lower order methods in order to calculate errors for adaptive time stepping. In addition, Rosenbrock methods do not have to solve an implicit system (just a linear system). There is no form of iteration then that takes place in them (unless you're using a Krylov linear solver).
Maximum number of steps for stiff solver can be due to many reasons. The first one is simply that the solver diverged. If it diverges, then the errors grow and the time steps shrink. In many cases, the number of steps could just run out before the solver notices it diverged, and throws this error accidentally.
Divergence of the solver can happen for many reasons. One reason this could happen is because the tolerances are too high. While in theory these methods are L-stable, adaptive time stepping and errors in the Jacobian change this in practice. But it will always be stable below some tolerance, so give that a try. If that doesn't work, then look at your derivative function. Most likely it's user-error.
If it's not divergence (which you'd be able to see from a plot), then you might just be taking too many steps if you're asking for a really low tolerance. In that case, make sure you really need that much accuracy and if you do, there's no choice except increase the number of max steps.