There may have been issues with LCS (Large Core Storage).
Our site had 128K core with 1 Mb LCS.
OS/360 took up almost all the core storage.
Access to LCS was much slower than to core store.
We therefore made local PL/I variables static
(except for arrays, which typically had variable dimensions).
Thinking a little bit more about this:
the insurance company used auto variables heavily, BUT:
until the 2010 time frame, they didn't allow (or: suggested not to use)
INTERNAL PL/1 procedures !!
Instead they had some home grown macros based on label variables, which
worked much the same like