There was a bug in SqlClient which could cause high CPU use.
The scenario is a SqlClient application sends an attention to Sql Server but receives no acknowledgement from the server because the connection is broken.
The bug lies in the logic of reading server's response from the wire. We buffer the incoming data from the wire. In the above scenario, we read from the beginning of the buffer over and over when there's no more data coming from the wire as the connection is shut down. Basically it triggers an infinite loop.
The fix can be downloaded from: