The answer is a bit tricky depending on the pre-existing connections between hosts asking for content and the peers that already have that content. As a baseline if both A and B have indicated in the DHT that they provide the same content, and the consuming node is not already connected to either A or B, the current go-ipfs bitswap implementation will likely ask them both for the content. There are changes underway to this behavior to reduce the number of duplicate blocks requested and transmitted.
To more directly answer your question (I think) right now nothing prevents custom code from making as many requests for blocks to a remote bitswap host as it cares to (or the network allows) regardless of who says they have the content in the DHT. So there is no load balancing, or backoff smarts, at the individual node level. If someone wants to saturate node A with requests for blocks of content they can do so. In this regard it's like an individual HTTP server.