it not only true, hashsets only contain unique values. if you add the same value twice, as types are value type, they are compared property by property.
in your example:
var hs = new HashSet<Tuple<string, bool>>
{
new Tuple<string,bool>("1/1",true),
new Tuple<string,bool>("1/1",true),
new Tuple<string,bool>("1/2",true),
new Tuple<string,bool>("1/2",false),
new Tuple<string,bool>("1/2",true),
new Tuple<string,bool>("1/2",false),
new Tuple<string,bool>("1/2",true)
};
the dups are removed, and it is the same as:
var hs = new HashSet<Tuple<string, bool>>
{
new Tuple<string,bool>("1/1",true),
new Tuple<string,bool>("1/2",true),
new Tuple<string,bool>("1/2",false),
} ;