Change how already discovered types are skipped
Change how already discovered types are skipped

The idea is to avoid using _complexTypeToBuild, as it is set just before DiscoveryTypesByProperties is called. So it can include types that have not yet been discovered.
Instead, a new hashset is introduced, dedicated to the tracking of discovered objects. Therefore, circular references never end up in StackOverflowException anymore

DigDes/SoapCore