The level of knowledge needed for graduate study I was in class, and I saw a grad student reel off a proof of a theorem in real analysis, one I found quite hard and never really tried to understand thoroughly, with no effort.
This led me to ask the question: at what level should I know the material I learn in my math classes?
In particular, if I want to go to graduate school, what standard should I hold myself up to? Should I be able to reproduce proofs of all of the main theorems from scratch on a whiteboard, completely understanding the all of the techniques used? 
This is not really a standard enforced by the coursework, which requires knowledge of the statements of the theorems and some problem solving ability.
So the question really is: should I come out of undergrad understanding not just the statements of the results in class, but also the proofs?
Also, from personal experience, does taking this approach to studying help one solve mathematical problems?
 A: I believe so. Also, understanding the proofs is essential to really understanding the material. I would look at Calvin Newport's blog post on how he got the highest grade in his discrete math course. It was essentially this: understanding each and every proof.
A: As a first pass answer, what grade do you think you'll be receiving in the course you mentioned? If you're on track for an A, then presumably the professor thinks you are learning the material at a required level. Similarly, a graduate school would look at the grades you have received as one indicator of your ability to graduate-level mathematics. 
As another consideration, you are probably equally fantastical to a Calc I student---How did you take the derivative that fast?! How did you possibly memorize the Mean Value Theorem?! The graduate student you mention has had the benefit of studying this material for much longer and has been better able internalize theorems and proofs that seem dense to you. 
Beating the example of the Mean Value Theorem into the ground using the lens of Terry Tao's excellent article, a progression of understanding might go like: 


*

*Calc I student: No idea what this means, it's a "totally obvious fact." Use it to get the answer in the back of the text, maybe some analogies with speedometers or something?

*First analysis course student: Can produce an $\epsilon$ - $\delta$ proof given the exact statement, can (laboriously) construct counter-examples when various hypotheses are removed. 

*Grad student: Something about average rate of change and derivatives; remembers that it's a consequence of Rolle's Theorem and has a relationship to Lipschitz continuity. Draw a convincing picture and reverse engineer the hypotheses. Turn the convincing picture into a rigorous proof if desired. 


As a closing thought, memorizing difficult proofs verbatim is a terrible use of time. Instead, study them to learn how the proof is structured, why each of the hypotheses is necessary, and how the theorem fits into the general mathematical landscape. For my own studies, I would rarely memorize exact statement of a  theorem and proof. Instead, I focus on learning what makes that theorem tick---what other theorems/lemmas/definitions does it rely on? What other theorems depend on it? What's the structure of the "standard" proof---induction / contradiction / split into cases / ... ? Can I build simple counter-examples if any of the hypotheses are removed?
A: There are lots of ways to partition one's mathematical ability into stages to gauge your progress and readiness for something deeper. The stages are not strictly partitioned, so it is possible to kind of move back and forth between different stages, and you may be at different stages with different areas of study. Here is one such way that applies in this context.
In the first stage, one learns how to compute. There is no theory, no generalities. There are numbers, equations, matrixes, etc, and at this point, the student's sole job is to get good at moving them around. This is the portion of your mathematics upbringing from when you were a small child learning to count, up through whenever you started doing serious mathematics.
In the second stage, you learn what proof is and how to construct them. You learn how to prove standard theorems, and every class you take will prove every theorem, except possible for some very difficult ones that are outside the class. You are expected to learn how these proofs go and how they relate to one another, and maybe even are asked to reproduce them. Most people do this for pretty much all of undergraduate.
In the third stage, instead of learning proofs, you now learn proof techniques. By having a large swath of ideas at your disposal, you no longer need to see every detail of a proof to know how it works (unless it's really technical). When you see a theorem, you don't just rattle off the steps of the proof you have memorized. You think about what kinds of ingredients go into the proof, and you stitch them together. This is not to say that you will be able to reproduce every theorem you ever learned flawlessly - of course people forget things all the time - but it means that knowing what you know about the subject, you can rediscover and reassemble the proof on the fly, even if it means you trip from time to time.
I would say that in all probability from your question, you are in the second stage, and asking about what it means to go into the third stage. Do you have to know every single argument to every theorem to be a good mathematician? No, of course not. Learning every proof to every theorem would take years, and you would never get to advance. On the other hand, the only way to get from the second stage to the third stage is to learn as many proofs as you can, and to analyze them thoroughly. Find their crucial steps, the fundamental things that hold them together, and reflect on them. Then, advancing to the third stage is all about looking for ways to use those fundamental observations for other problems.
Hope this helps!
