Variational API: meaning of parameters

So, this means I only change obj_optimizer to change e.g. the learning rate, right?
And as for obj_n_mc - I saw the definition “number of monte carlo samples to estimate objective function gradient” in the reference, but it does not shed much light. I mean, why do we need to estimate the gradient at all? Theano provides the exact expression for it.