The monitoring graph from Google Cloud page only tells the QPS against the API. 429 errors could also happen if the request itself is expensive to process, even if overall QPS is low. For example, if request A demands 100 times the amount of RAM and CPU than request B, sending request A at 1 QPS will still be more expensive than sending request B at 10 QPS.
A general solution to this is to optimize the client side request. For example, less dimension breakdowns, more filters, etc. It's also a good idea to further rate-limit on the client side if the request cannot be further optimized.