I think we should add comments to explain why we "return" after HeadersComplete, and also mention that it's the root cause in the commit log.