I wrote an article on this topic some time ago and I still think it's pretty good. You can find the full article here; I've included the introduction and resources below for your convenience.
Six Questions about Generics and Performance
Here are some comments from a recent discussion on Generics that I thought were generally useful. The comments have been edited so that they fit better with the general format of a Q&A session. The origin of this discussion was some commentary on the cost associated with creating instances of generic types where the type parameter is a value-type -- that case is interesting because the code for those classes cannot be shared like it can for reference types, so there can be considerable cost associated with their use.
As always many of these questions would require whole tomes to answer fully, so I'm giving an answer that's brief but only approximately correct. For additional information on Generics please see these links:
http://blogs.msdn.com/kcwalina/archive/2004/03/15/89860.aspx
http://www.15seconds.com/issue/031024.htm
http://research.microsoft.com/projects/clrgen/generics.pdf