Here's your reply: "Oh hello, Mr. Smith from company XYZ, you realise this is my private number, don't you? Just wait a second, there's something that needs my attention in the kitchen..."
A minute later if they are still on the phone: "Sorry for the delay Mr. Smith, you know this is my private number, don't you? Can you just wait one minute longer? ..."
Repeat until he hangs up. Coming back after a minute will have the psychological affect of them trying longer, and wasting their time at minimal effort of your own is of course what you want.
If he doesn't learn, then about the third time he calls you can reply: "Oh hello, Mr. Smith from company XYZ, you realise this is my private number, don't you? Sorry, I'm reading War and Peace right now, so you'll have to wait a minute until I finished. I'm at Chapter 3 already, so it won't take long."
PS. @Ramhound: This isn't "passive/aggressive", this is having a bit of fun with someone who has to learn what borders are. And I don't know if you noticed, but this is not "in business". It's the OP's personal number. He's at home. He is not at business. If you call someone on their private number, you get what you deserved. That customer cannot expect better treatment than these "Microsoft representatives" who tell you there is a virus on my computer. My wife loves playing with them. Gets them right to the point where they think they found a mark before she crushes them.
One reply that I actually heard being said to a customer: "Have you looked at the calendar by any chance? Do you realise it is CHRISTMAS? Don't you have a life? "
(PS. My boss has my private number. He has the judgement to know when to use it. Never used it, but he could).