Remove ConsumeOnClose and add test

What, if any, impact will this change of functionality have on callers? Why were we consuming the input stream on close in the first place?