While I think almost every possible reason for learning OOP with C# or Java has been covered here (pro and con):
I also think a major reason (and this relates to Ben Voigt's comment on his belief that Java and C# are the languages being taught in computer science classes) is sheer "size and momentum": knowing you have resources like StackOverFlow and CodeProject, and a critical mass of programmers some of whom will always be "pushing the envelope" on explaining how to use the latest "goodies" in the language ... makes a great deal of difference.
... as an example of "envelope pushers": I'm thinking of the WPF Disciples, for example, and the "great FrameWork/DI/IOC" softwares and the debates surrounding them which have become as mysterious to me as English Cricket ...
Note: I would like to see statistics on the extent to which C# or Java is used in intoductory college courses in the US and Europe: I think that could be very interesting. I would interpret Ben's comment as a very highly probable hypothesis, but still a hypothesis.
It's interesting that no one here has proposed Objective C as found on the Mac for learning OOP (speaking as a fully de-programmed former member of the "Cult of Mac").
I would also observe that a lot of the time when people are speaking of "OOP" they are speaking: not of O-O design; and, not of "design patterns," but speaking of programming with built in system objects ranging from utility libraries to GUI-thingies, and often speaking about the quirks and anomalies of getting them to work under particular conditions in particular environments.
Anyone who's sweated with the standard WinForms controls (ListView, TreeView, ComboBox, etc.) for a few yearas has, imho, "learned" a lot about inconsistency in object design: from the "glass is half-full perspective," however, maybe that's what ENABLES the third party software companies to thrive and innovate ? It has certainly motivated me to buy a 3rd. party set of tools that have much more "design consistency and integrity."
In summary : I'd say the best resources for learning OOP are a selected few language-dependent books (like, for C#, Skeet's masterpiece, "C# in Depth"). What book would you recommend for Java-OOP ? Hopefully, at best, using your key book(s) in the context of a course or mentoring. And, then StackOverFlow and CodeProject come into play as fantastic resources to help you in your own continuing self-education.
A comment: in the study of music you have the concept of "etudes" which not only help you (and force you) to master new technques and musical concepts, but also are immediately useful (in the aesthetic sense in music: i.e., pleasing to the ear).
imho the "great book" on C# "Design Patterns," using the idea of a set of graduated progresive exercises, as in musical etudes, and taking full advantage of language evolution in FrameWorks 3-4, is waiting to be written ... by Jon Skeet, or Eric Lippert, but I'd be just as happy to have one from Jesse Liberty or Matthew McDonald, or Richter, or Troelsen, or Sells.
Would it be valuable to distinguish here two types of "educational goals" : turning out competent application programmers whose area of expertise is platform specific (i.e., Mac, PC, Linux): and turning out "computer scientists" who are able to analyze problems using a number of methods of abstractions, who are focused on algorithms, and, perhaps secondarily, on the choice of which full-Turing equivalent language they feel best fits the implementation need of a particular algorithm ?
Or is there another "role" here of "application model architect" who dreams in UML, and operates on a level of abstraction far beyond "mere coding" :) ?
Meanwhile, fossils, like this writer, will continue to mess around with what they refer as "dinosaur dentistry" using the equivalent of duct tape and crazy-glue to make archaic levels of legacy software (often from competng vendors) work together, kind of.