I found the solution.
The HTTP 1.1 standard specifies that chunked encoding must be closed with a 0 length chunk, only when the request mode is keep-alive
In keep-alive mode, the connection between client/server is persisted for multiple request/responses. Chunked encoding needs to be ended with the zero length chunk in this context, because there is no other way for the client to know when the preceding response ends.
If you specify "Connection: close" as a header, as opposed to "Connection: keep-alive", then the connection is not persisted between request, the client can use the connection closing as an indication of response termination, and does not require the 0 length chunk indicating EOF.
I have just decided to manually close the HttpResponse using:
HttpContext.Current.Response.Close();
While having previously specified in the code to tell the client that the connection will close upon EOF. This has solved the issue where the client wasn't receiving the 0 length chunk, because now the client does not require it.