You have quite elegantly avoided saying which parts I got right and which parts I got wrong. In fact, you haven't said anything specific, probably because you aren't allowed to?
I think I have a poor memory myself, yet I'd say I'm able to design efficient algorithms and evaluate their costs. Of course I wouldn't expect anybody to devise a publication-worthy algorithm within 45min. But most real world problems can be solved by standard algorithm-construction techniques, without any original research nor genius strike. It's part of the skill set of the trade, not something to learn by rote.
About recruiters and interviewers taking time to look at stuff, when I applied they even asked me for a list of all the college courses I had taken. Interviewers are encouraged to look at your past projects and enquire about their technical details.
I'm not convinced evaluating someone based on the quality of their code in GitHub is fair, though. The candidate might have improved their skills since writing that code. Or it could have been originally written by someone else for all I know. Also, not all candidates have been in a position to have code publicly available. Of course, we're not talking about evaluating Chris Lattner types here; that's not the level I interview anyway.