Never Forget Your Prep!
I guess I have a pretty good memory. My wife disagrees.
The people who really matter though, the guys at the local chess club, agree with me and find themselves impressed with the way I remember opening lines, endgame theory, games I played 4 years ago, and so on.
That in mind, I theorize that if you are the type of player who can remember their own tournament games well enough to not need the scoresheet during skittles, then you can learn a theoretical opening and never forget it.
1. Pick a 'real' opening. Read on and you'll understand why this matters so much.
2. Buy the best available book on said opening. Almost 100% of the time this is a Quality Chess "Grandmaster Repertoire" book. If you've chosen an opening where the editor had to add an exclam on the cover, you're playing a garbage opening. Pick something that has been played in a World Championship in the last 20 years. That's plenty of variety.
3. Play through the main lines on a real board. Don't worry about subvariations.
4. Analyze your own subvariations. This simulates gameplay, where most calculated lines do not end up on the board. The idea is that by eliminating 'inferior' lines, you more fully understand the essence of the position and why the mainline is correct.
5. After you finish a chapter - Enter everything you remember or calculated into chessbase. It's important that you were very careful when you calculated your subvariations, as corrections made by your engine will be harder to remember and errors in calculation will be easier to repeat.
6. Fill in the gaps. Go back through the subvariations in the book and add lines you didn't calculate yourself into your chessbase file. The simple act of transfering them over will aid your memory to some extent.
7. Check everything with an engine. At this point you've read the chapter, calculated all the lines in the chapter, established memory pathways by re-writing the book into chessbase, and then gone over everything again while filling in the gaps. The chapter has probably taken you about 2 hours (not ironically, the amount of time you have during a game...). You'll understand the position well, and should have a thorough memory of the lines you'll likely see in a game, as well as a basic memory of the less probable variations. Now it's time to do a quick sweep with the engine to make sure the author isn't trying to get away with some crap by ignoring a critical line where they couldn't find an advantage (or equality, for black repertoires). Understanding that the author is forced to be biased, it's not a bad idea to see how an unbiased computer tries to ruin the poor writer's work. If you find something interesting, toss it into your chessbase file. (note: keep in mind that it's not realistic to have an advantage everywhere, and the computer will likely find some stuff. If your opponent finds a strong line during the game, just accept that it's possible for other people to play well and get ready for a tough game).
8. Rinse and repeat for each chapter. This takes forever, but you'll end up having every critical variation in the entire book memorized. Plus, you'll have a bunch of well organized chessbase files to review every once in a while to jog your memory.
That's it! It's important to do this with 'real' openings for three reasons: One, doing this much work commits you to the opening to some extent. Two, poor openings usually come with poor literature which means that three, your search with an engine at the end of the chapter might just refute the entire book and you have to start over.
This method, coupled with OTB experience, should be enough to pack your prep deep enough into your memory that you never forget it.
But remember, human memory is limited, and I'm sure you'll remember garbage day next week.