text: Title: Concurrency is not working properly, regardless of concurrency_limit
  Body: ### Describe the bug
  
  We are encountering an issue where Gradio's concurrency handling is not working as expected. Despite setting both `max_size` and `default_concurrency_limit`, the app does not scale beyond 2 concurrent sessions.
  
  ### Steps to Reproduce:
  1. Launch the Gradio app with 4 instances.
  2. Send a chat message to all 4 instances simultaneously.
  3. Observe that only 2 instances process the messages while the other 2 are waiting, regardless of the settings for `max_size` and `default_concurrency_limit`.
  
  ### Expected Behavior:
  - All 4 instances should process the chat messages concurrently, with no queuing, as defined by the configuration.
  
  ### Actual Behavior:
  - Only some of the 4 instances process the messages concurrently. The others  do not process the messages and are not queueing, they are just loading, even though the settings for `max_size` and `default_concurrency_limit` are in place.
  
  ### Additional Information:
  - Unfortunately, the issue is not always reproducible with the minimal example, but this behaviour always occurs in our production setup.
  - The issue occurs regardless of the number of devices used. We tested on 4 different devices to rule out browser-specific issues.
  - We noticed that using 4 private windows in a browser can make the concurrency work sometimes, but it fails when using 4 normal browser windows.
  - It seems like having the app open also consumes a "resource". We observed a behaviour where 1 instance was loading, and as soon as we closed another instance, the first one loaded successfully.
  
  ### Environment:
  - Gradio version: 5.13.1
  - Python version: 3.12
  - OS: macOS 14.4 and Ray
  - Browser: Tested on Safari and Firefox
  
  ### Have you searched existing issues?  🔎
  
  - [x] I have searched and found no existing issues
  
  ### Reproduction
  
  ```python
  import time
  
  import gradio as gr
  
  
  def wait(_, __, a):
      time.sleep(15)
      return "done"
  
  
  with gr.Blocks() as demo:
      a = gr.State()
      gr.ChatInterface(fn=wait, additional_inputs=[a])
  
  demo.queue(max_size=100, default_concurrency_limit=10).launch()
  ```
  
  
  ### Screenshot
  
  _No response_
  
  ### Logs
  
  ```shell
  
  ```
  
  ### System Info
  
  ```shell
  Gradio Environment Information:
  ------------------------------
  Operating System: Darwin
  gradio version: 5.13.1
  gradio_client version: 1.6.0
  
  ------------------------------------------------
  gradio dependencies in your environment:
  
  aiofiles: 23.2.1
  anyio: 4.8.0
  audioop-lts is not installed.
  fastapi: 0.115.7
  ffmpy: 0.5.0
  gradio-client==1.6.0 is not installed.
  httpx: 0.28.1
  huggingface-hub: 0.28.0
  jinja2: 3.1.5
  markupsafe: 2.1.5
  numpy: 2.2.2
  orjson: 3.10.15
  packaging: 24.2
  pandas: 2.2.3
  pillow: 11.1.0
  pydantic: 2.10.6
  pydub: 0.25.1
  python-multipart: 0.0.20
  pyyaml: 6.0.2
  ruff: 0.9.3
  safehttpx: 0.1.6
  semantic-version: 2.10.0
  starlette: 0.45.3
  tomlkit: 0.13.2
  typer: 0.15.1
  typing-extensions: 4.12.2
  urllib3: 2.3.0
  uvicorn: 0.34.0
  authlib; extra == 'oauth' is not installed.
  itsdangerous; extra == 'oauth' is not installed.
  
  
  gradio_client dependencies in your environment:
  
  fsspec: 2024.12.0
  httpx: 0.28.1
  huggingface-hub: 0.28.0
  packaging: 24.2
  typing-extensions: 4.12.2
  websockets: 14.2
  ```
  
  ### Severity
  
  Blocking usage of gradio