queue implementation in c#