Thats right, active strategy is better than passive. However here in this case,
PS the package would/can/should (be able to) be accessed by N number of session simultaneously & all will/can hold a shared lock on that object (momentarily).. if its not than i see oracle is not handling pinned objects properly. terminating a session would/may solve, but point is why any (or rather how any) user session will have exclusive locks on sys owner objects?

-Abhay