I have an azure queue trigger set up:
    [FunctionName("TransformData")]
    public async Task Transform(
        [QueueTrigger("product-prices")] string message)
    {
        await TransformAndLoadData(message);
    }
Whenever I add items to the queue via the QueueClient:
(RawQueueData splits items into message batches)
    var rawQueueData = new RawQueueData<T>(data);
    var sendMessageTasks = rawQueueData.Messages
        .Select(m => _queueClient.SendMessageAsync(m));
    
    await Task.WhenAll(sendMessageTasks);
Or move the messages from product-prices-poison back to product-prices queue (using Azure Storage Explorer), the trigger immediately fails with:
Message has reached MaxDequeueCount of 5. Moving message to queue product-prices-poison.
Passing items synchronously also yields the same problem.
The only time I can successfully get the trigger to fire and process items is when I create a message with Azure Storage Explorer manually.
Increasing MaxDequeueCount, or batch size does not make a difference. The message after doing the former then is:
Message has reached MaxDequeueCount of 100000. Moving message to queue product-prices-poison.
I can also manually dequeue items by using the QueueClient without any issues.
I have also tried changing the type of object I am receiving to QueueMessage, object and string. Most other solutions seem to focus on updating the package (the one I am using the latest - stable 12.8.0).
EDIT: host.json:
{
  "version": "2.0",
  "extensions": {
    "blobs": {
      "maxDegreeOfParallelism": "4"
    },
    "queues": {
      "maxDequeueCount": 5
    }
  }
}
