Since you say that you are already running the functions on an App Service plan, it's likely that you don't have the Always On
setting enabled. You can do this on the App from the Application Settings -> General Settings
tab on the portal:

Note that Always On
is only applicable to Az Functions bound to an App Service plan - it isn't available on the serverless Consumption plan.
Another possible cause is if you don't clear the blobs out of the container after you process it.
From here:
If the blob container being monitored contains more than 10,000 blobs (across all containers), the Functions runtime scans log files to watch for new or changed blobs. This process can result in delays. A function might not get triggered until several minutes or longer after the blob is created.
And when using the Consumption Plan, here's another link warning about the potential of delays.