Hello,
In next update lock object will be public (wManager.Wow.ObjectManager.ObjectManager.Locker)
But it is hard to tell if it is the problem, you lock wow frame when you run this code (wManager.Wow.Memory.WowMemory.LockFrame();)? (500ms seem a lot to refresh objectmanager), you can try to use program like JetBrains dotTrace to check.
And I think the best for you is to request object list one time like: