Sometimes I understand how to do something, but then when my professor has us memorize the definition for things, I don't understand the connection between the theorem and what we are doing. These are the times I feel like memorizing the theorem is not helpful.
Sadly thats what happens most of the time. Theorems require some level of memorization. I'm talking about pure maths here.
So now-a-days in every line of a theorem, I write in brackets from where it has come. It did take some time but I can understand more now.
This is a great idea! I try to put theorems in my own words, but sometimes I don't have words for them and so just try to memorize it and wait for it to click later.
The pure maths aspect is where I struggle. Sometimes a concept doesn't "click" for me until I see it applied in another class or practice problem.
For me, I can maybe understand a concept if explained in simple words, but when there are like 7 different letters involved with word symbols and less than or equal to signs everywhere with different intervals with epsilon and delta, etc..... It's hard for me to grasp the concept without getting lost in all that mess. And then when trying to remember it later, all I do is end up memorizing the sequence of letters put together making up an equation instead of actually understanding how the equation works.
Symbols are just names. You have a name, as do many other people. Some people even have the same name as you ! So really, saying "let x be a real number" is the same as saying "let us consider an employee from company X" (a theoretical company with infinite employees). If you want x to be in a certain subset of the real numbers then it's adding "let us consider specifically the janitors who work at company X".
So when you see a letter representing an element, think of it as an individual, relate it to something from the "real" world.
In order to truly understand your theorems and properties, what you must do is redo the proofs. Not copying them, but actually thinking and trying to come up with the steps after one read at most. After a while you will learn how to play with the words (symbols) and concepts. For example, the claim "a function that is differentiable at a point is continuous at that point" is not something you should simply admit but actually should prove.
Even if your professor gives you a demonstration for their claim, having it or reading it is NOT enough.
Also, try drawing stuff. For example, if you're working with sets and all, try making coming up with something that helps you visual it. It doesn't have to be "accurate" (everything can be drawn in 2D if you're brave enough, even if you're working on a space of large dimension, possibly infinite).
And finally, do exercises. Don't go directly to hard ones, start by the most basic things (example : prove that in a metric space, an open ball is open, if you've studied metric spaces; prove that a close ball is closed). The basic exercises and questions exist for a reason : they're the first natural thing you might think of and they are a direct application of definitions and theorems.
Saving this. You gave some great advice here.
Another idea is to try color coding formulas with a lot of different parts. Using different colors for different parts of formulas helps me kind of "see" the blocks of information within the final formula and the underlying patterns.