The HTTP session is cached for later use on client side for 50 seconds. This value is currently not configurable, but in the next version, you will be able to set this value using HttpRequestCreator.Settings.HttpSessionCacheTimeout. If you want to receive beta version, please let us know. However, please note that the server has similar limit. It is couple of minutes at max, so if the device is idle for one hour, this will not help you.
Yes, every new connection requires TLS1.2 negotiation. If the server supports renegotiation, the cached session can be used to renegotiate and the whole TLS negotiation process is much faster.
Please, create communication log in Debug level and send it to support@rebex.net for analysis. After seeing the log, I can tell you other possibilities. The log can be created like this:
creator.LogWriter = new Rebex.FileLogWriter("/http.log", Rebex.LogLevel.Debug);