I'm in a similar position, but I find that the major factor that affects my procrastination is my emotional investment in the product I'm making. At work, I don't really care about the application I'm building - largely because the quality of the existing codebase makes me depressed. However, when I get home and work on my own side projects, I code like there's no tomorrow, and have no problem with focus. I haven't had the opportunity to test my theory yet, but I think one way of tackling procrastination is to make sure you're in a job that you really care about.