Like others have said, it sounds like variance and table selection. Also, be sure you're not loosening up as your stack grows. Playing too loose will fritter away your chips faster than anything. Also, for how long are you playing? Does your concentration dwindle over a period of time? Did you sleep enough the night before? Are you eating right to keep your energy levels up? Drinking alcohol?

I'm also with the others in that you should consider setting some sort of +-BB limit or some time limit. For me, I've started setting a time limit when I play (only playing live ring games at the moment). When I hit that limit I ask myself if I'm playing well or poorly and if the conditions warrant me getting up and leaving. This helps me prevent going on tilt and to deal with the variance that comes about because I'm playing above my bankroll.