I think a big part of the problem is that consumer internet upload speeds are often way slower than download speeds. So they might download 1 GB of data but only have time to seed 50 MB before the stream is over.
True, although most TV shows are around 10-15Mbps, so even with a pretty slow upload they should be able to seed at least what they've downloaded over the time it takes to watch it.
depends on the content length tho, I can download 1 GB of data in 100 seconds but if I am watching it for 20 minutes (which is not unreasonable at all given that torrents for 20 minute TV shows are generally around 1gigs at 1080p) I have 1200 seconds to upload that 1000 MB of data back. That's about 7Mbit upload which is not crazy at all