Some of it could be you're oily because you don't want to be oily.
You wash your hair and get rid of all the oil on the scalp protecting your skin. So your scalp makes as much as it can to replenish. Lather rinse repeat and now you've trained it to always go ham.
I've been washing my hair with just water for a year or so. I'm still oily, but much less so. When I have shorter hair it's on the high side of acceptable. When I have longer hair it's fine - just needs to get pulled down the hairs away from the scalp so it can do its full job.