Why "exercise" when you can just do the real thing? Anyone can code simple parsers, simple math problems, whatever. If you want to practice your OOP then I suggest building a useful (to you at least) multi-tier application or tool - but do it in steps.
Start with a simple game that you like to play with your friends. Chess? Cards? Doesn't matter. Build an engine for it; write some tests. Try to apply the best OOP practices you can (if that's your goal).
Once you have an engine you can then add a neat GUI to it. WPF or Silverlight would be a great start to this. You could even decide to do it with HTML/JavaScript if you want.
Now that you can play the game locally, add the ability to play over a network or online. You'll notice you need to save game state at some point, this would be a great time to add in a database or whatever storage method you feel is appropriate.
This process of expanding will eventually teach you more and more about fundamental OOP practices when you realize you have to go back and refactor some code that may eventually become difficult to work with as the application scales.