If you schedule an upgrade, it downloads 3.9 GB to two folders on your C drive with names that begin with $Windows. If you download the software, you can specify storing it on another drive (or USB stick if you don't have another hard drive) and build a bootable USB stick or DVD, saving that space on the C drive. Although I have heard whispers that installing from a DVD creates those directories anyway.
Can you answer my question? What is the total capacity of your C: drive? Is it really 20 GB? In that case, I'm not surprised that you're out of space. It's really too small. Or did you mean that you usually have 20 GB free?
As to what else could be on your drive, Windows takes up a lot of space. Windows 7 especially, with its solution to "DLL Hell" that involves saving every version of a DLL that was ever installed. There is a lovely tool named Windirstat that will scan the drive and show you where the space is being used, so you can decide if it's real or all stuff in the temp folder (or somewhere in-between).
Are you aware that all of My Documents and My Pictures and My Everything Else is on the C drive by default?