Updated Thrust to 0.4 and created an exponential backoff for reconnect, tidy ups