When was the last time you had an oil change? My pre-owned Jeep Grand Cherokee had the same issue when I bought it. I've always made it a point to change the oil in my vehicles every 4500 miles (7000 kms) or so and the Jeep has never had this problem since. My 335i oil cap is as clean as a whistle too.
The kids don't know how to dance to Rock & Roll!