apiclient/http.py 's next_chunk method checks the python version to see if it can pass a stream object to httplib.request. This check wrongfully fails in python 3 causing high memory usage during uploads and even crashes for very large files.
I already made a simple pull request to fix this #141 .