For the sample reason if you try to decompile String.Concat()
method in mscorlib.dll
you will get something like this
for (int index = 0; index < args.Length; ++index)
{
object obj = args[index];
values[index] = obj == null ? string.Empty : obj.ToString(); //which will call the `ToString()` of `boolean struct`
}
ToString()
method which is called by default by string.Concat
method it is like this
public override string ToString()
{
return !this ? "False" : "True";
}