A very common C# pattern that breaks a very fundamental OOP principal
===

Here is a very simple question, which I'm still very uneasy about:

Why is it widely accepted now for a class to return a reference to its private member through an accessor method ?  Doesn't this totally break the encapsulation principal ?  If this is ok, then why not just make the member public !?

    public class EncapsulationViolator
    {
      private object abuseMe;

      public object AbuseMe 
      {
        get { return abuseMe; }
      }
    }