Hi, Jakeia.
I work with Hans, but he's in a time zone where he won't see this still for a while, so I thought I'd respond.
As Hans was indicating, this is not about App ads, but Responsive Search Ads.
To give an example that is working correctly: if you take an empty ad group and try to add 51 Expanded Text Ads (one over the limit), you will get a response that indicates the resource limit was exceeded (same kind of error as what Hans posted), with the error details of "existing_count: 0" and "limit: 50", which are both correct for expanded text ads, since this is an ad group that has no ads in it.
However, if you try to add 4 Responsive Search Ads (one over the limit) to that empty ad group, you will get the response Hans shared, which correctly indicates the resource limit exceeded error, and correctly identifies "limit: 3" in the details, but incorrectly indicates "existing_count: 3", when in reality, the existing count (since this is a brand new, empty ad group) is 0 (like with the expanded text ads test case).
We rely on the existing_count being correct so that we know how many ads we should remove from our request. With it being incorrect for Responsive Search Ads, this is causing an issue. Note that this worked fine in the AdWords API, but we're migrating to the Google Ads API, since we have to, and it's the new Google Ads API that has this bug (v9 is what we're using).
Thanks,
Greg