I don't know if you could call it flying for free as such, if I understand the OP correctly , he/she is flying as an "extra" pilot in a single pilot twin, therefore is not stealing anyone's job as there is no job to steal.
A company doesn't fly a second pilot in a single pilot aircraft out of the goodness of their heart. Having a second pilot means less payload therefore if they have a second pilot there is a requirement for it somewhere, probably in a contract they have with a customer. A second pilot should be paid, as they are filling a necessary position in the company.