Im sorry to say this because i know you have already said it isnt really about age, but it really is! No matter how mature or how much you think you know a 16 year old you really dont. I cannot believe how much I have changed from the age of 16 to 18 and then from the age of 18 to 20. It really is unbelievable and I only see it now after all the changes have happened. 16 is a very crucial age in a girls life, hormones go wild and wont be settled for several years and she really will be a different person in a few years.
The difference between you is not only measured in years (16 to 21 is a big difference) but also as someone else said in life experience. Realistically this girl has none. Regardless of how many relationships she has had she is still living with parents, has no real responsibilities and is probabaly still worrying about homework. I know this doesnt minimalise the love you shared in the relationship, because love knows no age, but this girl is only very young and is at a vunerable time in her life, if she wants to let go then let her go.
At 16 she probably wont be looking for anything serious (she is still so young she really shouldnt be looking to settle down!) so the relationship probably run its course. I also have to say you were pretty lucky with her parents being ok with you! If i had a boyfriend your age at 16 theres no way you would be able to stay at my house let alone even see you lol Last year when i was 19 had a boyfriend who was 23 and parents hit the roof! Anyway i digress...
Give up on making her feel guilty or trying to screw her over, you are older and more mature and therefore you should take the sensible line and move on. Sounds like you need to focus on yourself and have some fun with friends, start a new hobby and start going out clubs, pubs, playing pool, things you cant do with a 16 year old because she is underage!!
No one can ever really say why a relationship breaks up, only the person who does the breaking. No one on this forum can give you any proper answers, only good advice. So pick yourself, cut contact with her for a while and get on with your life. By still speaking to her and showing you are vunerable you are leaving yourself open to her and may end up getting played or messed around, which definetely wont help.
Stop all contact and enjoy some me-time. Have some fun with friends. Someone else will come along, maybe someone your own age, someone older, or someone younger again, or maybe she will come back to you, who knows? But until that happens enjoy your life and dont worry about someone who doesnt want to be part of it anymore.
******* 7 Times World Champion Michael Schumacher - the ultimate sporting hero *******