Based on the lack of comments, I would say not many people use IPC::Shareable for anything tricky. Doesn't it handle the locks for you automatically if you just access the variables normally?
I suspect the lock stays around because that's just how SysV IPC works. You might be happier using a database for this, or BerkelyDB. Those tend to be faster than IPC::Shareable as well.