I've spent 3 long weeks testing a web service hosted in IIS6. Its undergone some cosmetic changes from WCF back to ASMX. 

I've exhausted myself trying to find out why every now and again I get a thread abort message. 

YES the service is complex and takes time to complete, but the same operation works perfectly for hours, and during the next run and the next run, all defaults reset, but once in a while I get a "The thread was aborted" message, and I can't figure it out. 

Am I correct to assume that IIS6 is inferior and for our current SOA demands clients should be hosting in IIS7? 

I sincerely cannot spot the flaw in the software design. Worst of all I can't find a pattern to the problem. 

Could this genuinely be a case of IIS6 being the culprit?