Node goes down/restarts every 10-15 minutes. thread allocation error in logs

2 things could be made unfortunately both require a restart of the node:
Concurrency setting for uploads → This goes to the customer
Report as full → This goes to the satellite

If both were to be made as dynamically changing on realtime, values could change either on load (storagenode: add load monitoring · storj/storj@beddca4 · GitHub) or even on success rate from script of @BrightSilence or if you pull data from debug port any other thing that you would like like number of uploads, number of downloads or other processes running.
That would make the node a bit smarter.

Other idea: If the customers client has to request new nodes from the satellite because too many uploads were broken, maybe it could transmit the some id from the node to the satellite, so the satellite know which nodes have failed.