To me, the subtlety is specifically mentioning money. "I'll pick up the check" feel more tacky than "on me". Both explicitly imply I'm paying, but the first says I'm paying for you, and the other says that I'm doing this for you. I know that a hairline difference, but for me it makes is seem less explicitly transactional and more like reciprocity.
The second example doesn't seem as bad, becuase the cost of the cottage won't go down if you don't show up. But it would be softened further if the mention of money were out of the picture--"I have a cottage for the weekend" versus "I rented a cottage"
This to me goes back to a very old-fashioned prejudice that discussion of money is a bit vulgar.