Something I noticed during Web Part development was that the Web Part Properties were not loaded at constructor call time. Makes sense since the control has to be instanciated before the properties can be loaded but I recently forgot and it had me troubled for a while.
Q. So when are the Web Part Properties loaded ?
A. If you keep the event life cycle in mind then the Web Part Properties are loaded right after the constructor call. So anywhere else you can use them safely.