The rate limit is constantly being refilled, so with the default rate limit of 800/60s, it’s refilling a rate of roughly 1 every 75ms.
This means that if you’re making requests slower than every 75ms, the bucket is essentially filling back up moments after you make the request. If you make requests faster than every 75ms the bucket will slowly be used up faster than it is being refilled and that 799 will progressively go down (how fast it goes down depends on how much faster than once every 75ms you’re making requests).
Once you reach 0 rate limit remaining you’ll still continue to refill the bucket so you can make 1 request every 75ms and all other will return a 429 ratelimit exceeded error. If you were to slow down and make requests slower than once every 75ms, the rate limit remaining will start to go back up (which again depends on how much slower than that 75ms you’re making requests).