I don't see how it's free labor. I'm not sure if you're European or American, but in the U.S. most professional jobs don't have set hours, it's more you work until the task is satisfactorly completed within defined time constraints.
I'm American but I have luxury of working as a consultant - I get paid for every hour. I've worked for lots of companies and without exception, I've really like working for the company and when there was an occasional push, worked some extra hours. That said, I'd take some comp time later.
"in the U.S. most professional jobs don't have set hours, it's more you work until the task is satisfactorly completed within defined time constraints."
Then the company won't mind if I leave early when I have my work done right? Oh, you mean this relationship with the company is only supposed to go one way - to the company's benefit?
[Twirling my mustache] Wouldn't it be great if we could convince an employee (that we are exploiting) that the reason he has to work late is because another employee didn't donate labor to the company (and not that the deadlines are unrealistic)?
I think employers and employees sometimes forget that this is a value for value, business relationship. Think of what's implied in the common phrase "I gave him a job." An employer doesn't "give" someone a paycheck anymore than an employee gives the employer his labor - it a value for value trade.