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.