I haven't been following the .NET4 stuff that closely, but I'd assume they implemented tuples natively in the CLR in order to make the implementation of functional programming languages more straightforward. I wouldn't say there's any demand from the C#/VB.NET side of things for them, but maybe they'll be usefully integrated.

 

The use of them in functional languages is not so much as a storage type (because most of them support records with named fields for that), but as a means to pass multiple values to a function in a single argument and to return multiple values from functions.