This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Every time I look at cron documentation, I see there's two kinds of day: there's Day-Of-Month and there's Day-Of-Week. You're experimenting with Day-Of-Month and now you have found how it behaves. Notice the "Of-Month" part in the description, that explains why it behaves that way.
If that isn't clear, then let me put it this way: from the cron documentation I have read, I wouldn't expect to be able to produce an expression which meant "every three days regardless of month boundaries".