I used to be just like you, I worked for a small startup, I was in essence their only programmer. I considered the owners my friends. Then one day I got sick and send a message saying I wasn't going to be able to go on that day, one of the owners came in that day and asked for me (just because he found it weird that I wasn't there) and another one of the owners threw a tantrum at me over email saying I couldn't just decide not to go, that I either took a dr note or the day would be discounted from my pay. That did it for me, in that moment I realised that the weekends and extra hours I had given them were worthless, I went back a few days later with the Dr note and my resignation. On my next job I vowed to myself that I wouldn't take work home, they forced clock in and clock out times, so the moment I clocked out I forgot everything about the work, and if ever I started to think about it I would remind myself that they don't care.
I work for a much better company now, and as a general rule as soon as the work is done I'm done with work, there are exceptions when things need to happen before a certain date, but I also get TOIL or something in exchange.