Additionally, such waste heat might not actually be "free" - depending on some of the implementation details.
The engine works by generating heat and then converting it to mechanical motion while dissipating that heat to a cold sink. If you don't "waste" that heat by sending it to a cold sink then the engine operates less efficiently.
Again, it depends on the details - the energy might be "free," or it might just rob the engine of power just as an alternator does. You can't get around the laws of thermodynamics, though...
I'm pretty sure BMW places these in the exhaust manifod (or elsewhere in the exhaust system) where all the heat comes from gases that are indeed waste. Indeed if this were placed within the combustion chamber or conducted heat from it than it would have a negativ impact on the efficiency of the engine. You can use novel methods to convert one form of energy to another without breaking the laws of thermodynamics.