As per the concept about static members, they are created/loaded into the memory when there is first call made to its class. And they are common among all instances of that
No, they are collected with the class.
Overhead compared to what? What's the alternative?
Yes, but nobody said you have to fill them up with static members.