In our cases Jenkins has 2G memory and we publish 1.5G from 900 files it crash as S3 occupy 1.5G of heap.
Each file could occupy in memory 16M https://github.com/jenkinsci/s3-plugin/blob/70e1d8f622556b1725ee9faa6f2a9b8eba082131/src/main/java/hudson/plugins/s3/Uploads.java#L29
I would like to have a wait to upload my artifacts, but dont crash Jenkins at the same time.