Hi
I was trying port code to C#, during prototype I come across the situation where submitting a task fails because of bounded queues & maximumPoolSize . It looks this exception case is not handled. Executor Service can throw RejectedExecutionException
Corresponding code
Suggestion: you could AWS transfer utilitie which does multiple upload of given stream under the hood.
My minimal C# implementation of the same here
https://github.com/madhub/S3StreamUnzip/blob/main/README.md