What is causing it is your oil secretion glands are over active. some people can get away with this because they have thick and dont have male pattern baldness. If you have male pattern baldness and your hair is thinning, then your hairs will be thinner and the oil will weigh your hair down.
I used to have this problem. What can help is washing your hair in the morning, or using Zix has helped some, and it has helped me. Also you can take a low dose of Roaccutane at 5 mg per day. Or you could buy a Vitamin A derivative(I will have to find the exact for you if you are interested) just let me know.
Both Roaccutane and Vit A will shrink your oil secretion glands so they wont over produce oil and your hair wont get oily too quickly.
There is also Vit B5. That at high doses(3-7g) can also decrease oil production.