Subhajit's Blog : Optimized Object model API code for uploading large files to a SharePoint document library
I think there are a few tweaks to make this code even better, but it seems pretty good.
One issue is that you seem to be creating a collection that you never use. And then you are creating a new object that I am not sure is disposed properly. I could be wrong though…
Subhajit's Blog : Optimized Object model API code for uploading large files to a SharePoint document library