fixed receiveTimeout to not wait beyond the specified limit in the event of multiple internal waits