I don't think this is a very good idea. Fairly sure limiting maxQP means that the encoder will happily blow past any ratecontrol if it has to (not allowed to have a QP higher than 38). I would suggest removing that option at least.
As for vbvbufsize, I would remove it entirely, which will set it equal to the bitrate, which is what we recommend. There can be a small spike over the bitrate, but should be tight enough. Reminder that the vbvbuf is indeed in bits, not kilobits, so 1000 would be extremely low, and probably cause troubles.
There are some other confusing options in there, which I think you can safely remove as well, as they are either doign nothing, or setting the same as the default already is, like minqp, bframes=true. Dont think minref is doing anything either, as that is not a valid parameter afaik.
TLDR, remove MaxQP, and remove vbvbuffersize at least.