I've been taking between 7-15 mgs of Serax, an anti-anxiety pill for the last 20 years. Without it I can fall aslep, but won't stay asleep for more than 2 or 3 hours. I can go days like this, which get me even more anxious and depressed and the cycle continues. I've gone to shrinks, taken Melatonin and other herbal stuff, have no sleep apnea conditions, don't drink before sleep, etc. Nothing affects it, including Benedryl.
And, like the OP, I'll doze off for a couple of hours when I see sunrise. The only time I can avoid taking the meds is sometimes during summer or when I travel to sunny climes, leading me to believe that this is tied to some sort of daylight deprivation thing.
See a doctor and hope you get relief soon.