Moved from poker theory - I think it probably belongs here.
Personally, I have tried a lot of things, some have worked, some have not.
* buddhist principles (I'm not buddhist, but they help. mindfulness, meditation, action follows thought, etc). I recommend Tommy Angelo's series:
http://tommyangelo.com/the-eightfold...enlightenment/
* exercise and frequent breaks. When I was playing online a lot, I'd try to get up once an hour for a few minutes. Do a set of bench presses or pullups. Every 3 hours I'd take a short walk, get something to eat, watch 5 minutes of something on TV, whatever. An actual break.
* hard limits - and I don't mean stop loss. Your girlfriend pulled you out of it. Learn to be your girlfriend. Practice quitting. Start a session, if you get down as much as, say, 10bb, quit for the night. Just get up, quit. Set a time to start playing again like 8pm tomorrow or something. Do this over and over and over until being down means NOTHING to you, you can quit literally whenever you want. Be the best quitter ever. (This is actually covered in Angelo's series - hell, maybe everything I've said so far is.
I used to have a problem playing plo8 where every session I'd start by dusting off 3 or 4 buyins, then start playing good. I could never really figure out why. I developed a workaround. I'd drop down 2 levels, and just donk it up big time. Gamble, make hero calls, etc, etc. I actually found that playing like an idiot lag really does get it out of your system, and you also learn that LAGs know some things that TAGs or passive players don't. That there are things you can learn and observe from it. And it's fun.