In my experience the 3 - 4 weeks of no communication is not uncommon as people get busy and shove projects aside. I have often had good results shooting them an email that says something like your idea:
"I want to check in regarding this XYZ project because my calendar is starting to fill up and I want to be sure I have time clear for you assuming you're moving forward." or "I'm trying to juggle a few things on my schedule, when are you hoping to do ___..."
If the project is over and you just want them to remember you, I would not contact them every 3 to 4 weeks, but occasionally should not hurt. "Just checking in to see if I can help you with anything." Just don't overdo it because I think there is a psychology to it where if you appear to have a lot of free time, they don't want you as much, even if just subconsciously. (It's like dating...)
I think the "I'm super booked but don't want you to think you're not one of my priorities." approach is best, assuming it's true.
Or "I have a few people sniffing around, but May and June are usually my slower months, so if you'd like to get on the calendar..." You could even offer a discount, but I'd say it's due to business being cyclical so it doesn't look like you're not in demand.
I also sometimes send links to articles on a topic of interest as a way to remind people of my existence without bugging them asking for work. People forget - I've had more than one client that I haven't worked with for a couple years call to ask if I know anyone who can do exactly what I do. Hello? The remembered me but not well enough to remember that's exactly what I do. Sigh. (I'm actually terrible with follow up - do as I say, not as I do.)
BTW, on the opposite end of the spectrum, when you get so busy you can't handle all the client requests a great way to buy time is to send clients some questions about the project that they need to answer before you can do anything. That's usually good for a week to a couple months of breathing room...