When you are grouping something, you are suppose to get groups which are divided based on some criteria (in your case, it is name). Now in each there could be one or more elements. You may calculate come aggregate function on each group such as MAX, COUNT, AVERAGE etc.
Here you did not do any of the possible operation on groups. Problem is on the second part, i.e.
lst1= lst.groupby(x => x.name).tolist();
You may check the typical usage of group clause in the following link.
http://code.msdn.microsoft.com/LINQ-to-DataSets-Grouping-c62703ea[
^]