My app uses PyCurl to upload multiple files one by one. It works all good with all cURL options and CPU consumption remains below 1%. When I add MAX_SEND_SPEED_LARGE option to throttle bandwidth, CPU consumption goes to 100%.
c.setopt(c.MAX_SEND_SPEED_LARGE, int(rate_limit))
Further investigation reveals, it only happens on OS X 10.9