First of all, there are certainly no "spying" components in avast!.
Second, there's no ashShield.dll file in avast! either.
Guessing by the name, you are probably referring to ashShell.dll, which is the Explorer Extension module. So, if it stayed registered for some reason, it's not surprising that it was loaded in memory - every time you invoke a context menu in Explorer, the shell extension DLLs are loaded.
As for why it was not registered, I really don't know. The uninstaller does that, of course, at it works under normal circumstances.
Did you (correctly) reboot after the uninstallation? Did you uninstall avast! from the same account as you installed it? Was this DLL file the only one left (except for the empty folders)?