The real world is messy, analog, full of constant change, gray areas, and ambiguity.
That is why books insist on teaching us how to create classes representing silly things like cats and fruit.
Choosing which features and classes to use in your application is an art and a science, many times there is no "right" answer, just a "best" answer based on your particular situation w/r/t scaling, future plans, current load, code reuse, readability, etc.
Specifically regarding Collections, a strong fundamental understanding of the underlying data structures is key to making the right decisions. Fortunately, any decent CS degree plan will include classes specifically on data structures and algorithms. Once you understand what is under the hood, the right answers are usually pretty easy to come by.
All that said, I've heard good things about StackOverflow uber-user Jon Skeet's book on C#, you may want to give it a look:
http://www.amazon.com/C-Depth-Jon-Skeet/dp/1933988363
A new revision is due out soon, IIRC, so you may want to hold off on purchase.