Although mdmullinax is correct that you should have everything wrapped in using
statements to ensure connections are properly cleaned up, your question has nothing to do with how DataReader is implemented.
Generally speaking, the page will continue executing even if the browser has disconnected.
So, if the DataReader is midway in reading responses from the server it will continue to pull the rest of the records before the DataReader signals back that it's processing is complete.
Then the rest of the code for the page completes execution and the response is flushed to the browser. Of course, the browser is long gone by this point so those packets end up dropped.. unless something is checking the Response.IsClientConnected property. Bear in mind that the IsClientConnected property isn't full proof as there are numerous ways a browser on the other end might disappear without notifying the server.
For more information look here: Does asp.net lifecycle continue if I close the browser in the middle of processing?