Here you create the rate limiter with 3000 operations per 300*1000 seconds, so a thousand times less than the official rate.
|
(rateLimitOptions?.rateLimitInterval ?? 300) * 1000, |
As you can see it's supossed to be seconds and I guess you treat it as if it was milliseconds:
https://github.com/Borewit/rate-limit-threshold
So after some time your rate-limited client stops making my requests with sleeps, allowing me only 3000 calls per 3.5 days.