I have a button which gives me bid and ask prices of several stocks (say X, Y, Z) in a loop, in a windows application on C#. This button works fine and gives me the correct bid and ask prices in my first button click. However, it gives me wrong bid ask prices (i.e. it gives Y's bid-ask price twice instead of Z's price). As of now, I can't figure out what would be the problem, I guess there might be a problem with the threads or events, since both button-click and tick-price request are also events. I will be grateful if you could let me know what would be the problem or whether this problem sounds familiar to you.