Currently the HTTPClient object is created once, and reused. From the example at https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiClient/WiFiClient.ino it seems the client should be created once per HTTP request. Looking at the source for HTTPClient, it seems constructing it begins some work.
Taking this into consideration, it sounds like HTTPClient should be moved at least into loop() so it is not reused.