I know it's been a long time since this thread was started. However, I had the same issue recently and found the rather simple answer while searching the web. The problem is, I can't find the link at the moment to give proper credit.
Here's the basics:
The entries in Pending Renames are put there by running the SFC.exe /scannow application. SFC doesn't do a good job of cleaning up after itself. It leaves tons of entries in that folder. If you were to open the folder and run SFC.exe /scannow, you will see it in action.
The fix:
The TrustedInstaller app will go into "scavenge mode" after it installs a program/update. After an install/upgrade, it waits for an idle period of approx 5-10 minutes and then runs the scavenge mode. This will cleanup the files.
To clear out that directory, install something such as telnet which will invoke the TrustedInstaller. You can see the process running in task manager. Then, don't run any apps at all for about 10 mins and you'll notice the directory has been magically cleared.
The key is to get TrustedInstaller running and have the PC idle for more than 5 minutes. In this fast paced world, I would think we're installing programs and want to run them immediately. Because there normally isn't an idle time, TrustedInstaller doesn't always get to do its magic.
This only works for pending renames. It won't do anything for the other files in the winsxs\temp directories.
As I said, I found an excellent writeup on the web for this and wish I could give credit but alas, cannot find it again.
I hope this will help someone