I know that a static variable used in a web application is shared for all users across the web application. If I have a library (DLL) that uses some static private variable,
No they won't. They are loaded in separate AppDomains and cannot see each other's instances.
AppDomains
Even if they refer to same physical file, each application gets its own private instance of the assembly.