Thanks for the reply Lakshmi! After some more investigation I found a work around to my issue, which I've added below in case someone else finds this useful down the road.
Looking more closely at our logs, the problematic API call was uploading backup image assets. When creating or updating HTML5 Creatives in DCM, we had also been explicitly uploading a new backup image asset along with the primary HTML5 .zip asset. However, all of our creatives used the same exact backup image asset with the same asset name (`backup_image.png` in our case). When uploading a creative asset that has the same name as another asset that already exists and belongs to that Advertiser, it appears that DCM attempts to rename the newly uploaded asset to something unique by prepending "N-" to the asset name where "N" is an integer. Through my own experimentation, it appears that DCM starts with N=1 and increments N until it finds a unique name for the creative. In the DCM UI, the name change is indicated by a notification that says "To avoid a naming conflict with another file, we changed the name of the file you uploaded."

In our case, the campaign which contains ~1,300 placements had also been creating and updating creatives so many times that one of the backup image assets recently uploaded via API was named "30956-backup_image.png" implying that we had uploaded over 30,000 of these backup image assets. My hunch is that, as we had been creating and updating more creatives (and adding more backup image assets named "backup_image.png") the DCM server, upon recognizing a duplicate asset name, began searching for an acceptable replacement name such that the time it took to do so was growing linearly with the number of times we had attempted to upload an asset by the name of "backup_image.png". So by the time this process got to around 30,000 creative names to check for duplicate asset names, the DCM API would return 500-level errors and/or our connection would timeout.
Since all the backup image assets were the same across all of our creatives, our solution was to stop creating new backup image assets whenever we created/updated a creative and instead refer to the same backup_image.png that already exists in DCM. If that isn't an option for others, another solution would be to ensure that all images are uniquely named on upload.
I understand how prepending a unique number to avoid naming conflicts makes the API easier to use, but it would be nice to mention the performance penalty of using this feature somewhere in the documentation. Perhaps in the "assetIdentifier.name" section of the
CreativeAsset overview in the API documentation.
Chris