Run.get('status') returns None after ~100 requests

So I have been using Assistant APIs with GPT-4. I am operating a Usage tier 4 account. The rate limits mentioned there are:
MODEL. RPM. RPD. TPM.
gpt-4. 10,000. - 300,000

In my function call to OpenAI Assistant,

  1. I create a new thread
  2. Add user message to the thread
  3. Start the run and call run.get(‘status’) every 3 seconds.

This function is called asynchronously for multiple user inputs. But after around ~100 calls, I can’t create new threads. The API returns None.

This is the error I get.
{‘error’: {‘message’: “You’ve exceeded the 60 request/min rate limit, please slow down and try again.”, ‘type’: ‘invalid_request_error’, ‘param’: None, ‘code’: ‘rate_limit_exceeded’}}

Am I doing something wrong? Is there a limit on number of threads?