It seems like guy is very insecure and jealous and finding out that you lied made him lose trust to you and made him even more insecure.
I suggest you dont take him seriously and dont run after him. Also find someone you can trust your pain. It would help a lot talking about this in person.
I dont see anything bad you did. You wasnt perfect but not bad too. Guy is overacting too much and its his problem. You can find another guy. 3 years is pretty good time to be in relationship so at least it lasted this long. But seems like its time to move on.
Doubt kills more dreams than failure ever will