AFAIK in Indy exceptions are not necessarily errors. An exception is just that, an exception. An example for this I guess is that in FTP protocol you can prematurely close the control connection while data is still transmitted. This will cause an exception, even though it is not an error, just uncommon (but still standardized) behavior.
In fact the "Connection closed gracefully" exception is AFAIK indys way of signaling that the connection was closed by the other side. It is not an error in the strict sense, it is just an information for your application that the other side has decided to close the transmission.
The reason for this could be that the other side might want to avoid long lasting connections and requires you to reconnect every few minutes or so. This can be a form of load balancing.
When you get this exception, just reconnect and try again. HTTP uses connection keep-alive to reuse one connection for multiple requests. As HTTP is stateless, the server or client can terminate this connection after each request, e.g. if they want to save resources or think you or they are done (e.g. when the last element of a website has been requested). But you should easiely be able to reconnect with the next request and continue.