It guarantees that a Population will stay loaded regardless of active/inactive users (while the server is up)
It limits SSA-NAME3 memory usage to a single address space
If you develop a multi-threaded server application that calls the DLL and keeps it loaded, then you don’t need the SSA-NAME3 server.
If you don’t mind that SSA-NAME3 memory is allocated in the caller’s address space, then you don’t need the SSA-NAME3 server.
Apart from that, maintaining a pool of session-ids (regardless of whether the SSA-NAME3 server or DLL is being used) will limit the amount of open/close processing that needs to be done.
z/OS CICS users who do not use Database stored procedures to call SSA-NAME3 must use the SSA-NAME3 server.