It sounds like your ocd is more a result of stress. Not necessarily immediate stress, but general stress that lingers within you. My advice would be to learn and practice (daily) meditation, get very physically active, and learn something that requires you to train your brain in discipline, but something you still enjoy.
That's interesting, too, that smoking weed makes it worse for you. I find my ocd issues only go away when I smoke it (well, i've gone to the much healthier method of vaporizing now, which i'd highly advise you to do). In any event, if you must smoke weed for whatever reason, do what I do and go out and be really active.
That, and get some sublingual (under the tongue) vitamin-b 12 tablets, don't even bother with the kind you swallow, your body will barely get any of it if any. The point is, it helps with brain function, enzhym production, and mental control. Plus some omega 3-6-9 fatty acids would be beneficial, but go for the b-12's first.
Best of luck to you.