Rather than restarting LV, in multi-target projects you can right-click the project/target label in the bottom left of the VI and change which target the VI is configured for:
It is just listed as handles. You can also view them in task manager.
Each handle is a OS object and you would not expect this to be anywhere out of the 1000s. I know files would represent an object, network sockets beyond that I am not sure but I do know it is likely to be a reference leak if it is a handle leak. There is quite a detailed document at http://blogs.technet.com/b/markrussinovich/archive/2009/09/29/3283844.aspx but I can't say I've tried tried these myself before. I think Daklu's question is a good place to start as this is a pretty large rate of handle loss.
In a similar fashion to grabbing the actual queue, you might consider creating a fourth component that just sends out messages to the other three. Then, "spike" the messages with a heavy bias towards suspect states, and see which cause the largest memory increase.
You could also mock or fake existing components to isolate the one of the others...
2 cents
Joe Z.