Oh god I really feel upset by this thread.
First things first; get the locks changed asap. He didn't take the spare by accident and sending it back won't give you peace of mind. Your alarm bells were spot on with this guy and you need to be vigilant in keeping him away. Go 100% NC.
Secondly, I totally understand you can feel uncomfortable setting boundaries after sharing intimate details. It's almost like you invited him in then don't feel permitted to throw him out.
This reaction, while perfectly human (and also if I'm to throw out a stereotype - quite female) is not correct. You are still allowed hold your own boundaries firm. Even before the frightening bathroom incident, possessive love bite, stealing (yes stealing) of the key - the refusing to acknowledge your desire for him to leave was bullying and controlling. There is no way he didn't pick up on the hints. He just wanted what he wanted and what you wanted didn't come into it.
I've been in a slightly similar situation; I was friends with this guy as part of a group and kinda fancied him. One night we got together and we went on two further dates. That's three dates in total and I was already uncomfortable with the possessive behaviour he was exhibiting. I met up with him and called it off, explained I didn't want to lead him on, I could see he had feelings for me which I did not reciprocate, I knew myself well enough to know I would not change my mind, I valued our friendship and woukd ideally like to continue it. He seemed great with it and told me he appreciated my honesty.
Anyway under the guise of 'friendship' at least twelve months followed of me feeling increasingly helpless and trapped. He just would not back off and I stupidly did not deal with it directly. I don't want to go into too much detail but he was constantly engineering situations where everyone else would leave on a night out and he'd be walking me home, if after parties were suggested in my house, he'd suggest to the other folks it might be best he took me home as we needed some alone time, friends of friends all thought we were a couple, I learned not to get sucked into drinking shots on nights out as i always felt he was watching and waiting for his opportunity. It sounds so silly but I didn't know how to stop it and as I was relatively new where I was living I couldn't really ditch him off without losing my group of friends or at least causing very inconvenient repercussions.
It came to a head when I encountered very serious medical problems, he seized this opportunity to behave like a guard dog in the hospital warding off other visitors and staying by the bed despite me repeatedly telling him he should go. If I said I was tired he'd tell me to go ahead and sleep, if I said I wanted some privacy to get changed he'd point out he'd seen it all before. It was horrible. I felt too weak and depleted to argue. And I am considered a very assertive person. Finally I got discharged with some very distressing news from my consultant and I was sitting on a bench bawling crying processing it all. I had ignored all kind messages from everyone assuming they would all understand my lack of response. I looked at my phone, there was an onsluaght of messages from him on various social mediums ranging from slightly put out by my lack of response to full on angry. I walked home and my housemates informed me he had called over and waited then gone driving around to look for me. That was the final straw for me. I hadn't even told my mother my news and there he was making it all about him. I cut him off in no uncertain terms saying I had offered friendship but that was it and been clear that I was not interested but he would not accept it. I just regret not doing it way way sooner.
These people do not care about you. They will not accept or potentially even hear things that don't fit with their own wants.
Next time you find yourself in a situation you didn't agree to (a house guest for the whole weekend) put your foot down. Say "listen last night was great but I'm afraid I have to throw you out now, I have my own stuff to get on with" and no matter how much he pushes you do not feel obligated to give him an explanation. Smile and say something nice but firm like "absence makes the heart grow fonder. Now I seriously do need you to go" and if he pushes "sorry I don't need to explain my reasons to you. This is my house. I am asking you to leave. If you're refusing, then that is pretty serious" so he can't hide behind 'having a laugh' or a misunderstanding.
Really I think it is best to start nice but firm in these situations and then if that doesn't work be very clear on what is happening.
There was a rape case where a man and woman were hotting up for sex when it was discovered they had no condoms. She said she wouldn't go without, he proceeded anyway and it was only when she said the words "you are raping me" that he stopped. Maybe a rape situation does not seem comparable here (and sorry if it seems insensitive given your awful experience) but I think the lack of consent, feeling helpless is relevant.
I know this is a very long winded post and maybe you didn't need all my background stuff but this thread has been preying on my mind and I wanted to get the above across.