I find the name EnsureSuccessStatusCode and the naming scheme it uses utterly confusing.
I would get frighteningly confused everytime I encountered this line when I was learning to use the HttpClient class, until I read its meaning in the MSDN. It left me wondering how a client could ensure that it received a 200 status code.
I think a more appropriate name for it should have been ThrowExceptionIfNotSuccessStatusCode or just ThrowIfNotSuccessStatusCode.
Add your 2¢