I'm not sure I follow what you're getting at. Waiting for the GC isn't an issue here as `@body.delete` is immediately called on the next line. If what you're getting at is that `@body.close` and `@body.delete` could be combined into a single `@body.close!`, then yes.

The issue this pull request is fixing is that the file was getting deleted, but not closed, and never GCd, so the file still remained on the filesystem.
While this does fix the issue with the file handle getting closed (and thus the disk space freed), I suppose the root issue might be why isn't it getting GCd? We've seen our app holding these file handles open for days.