Hi,
Thank you for all the replies.
I'm not attacking Microsoft, sure they have the right to put stuff private and internal - that's why they create those keywords in the first place.
It just that I needed a WeakReferenceList implementation, and didn't find any public class like it, so I search in the reflector and found the internal one in WindowsBase assembly.
I fully understand that if they made the class internal they have a reason - and also I understand that WeakReferenceList can have difference implementation depend on the needs.
The bottom line is that Microsoft did a good job. Little more and it will be great.
Ido.