Another likely explanation might be you're not draining rack.input every request, since unicorn does lazy reads off the socket to prevent rejected uploads from wasting disk I/O[1]
So you can send a bigger POST request with my example to maybe
reproduce the issue.
[1] you can use the Unicorn::PrereadInput middleware to forcibly
disable the lazy read:
http://unicorn.bogomips.org/Unicorn/PrereadInput.html
