C# Generic Collection class with good Performance and Efficiency