How to retract a sharepoint solution without having remaining list intances, workflows, data etc?
It is by-design that retract doesn't remove actual data. There is no event handler either that you could use to remove content after solution has been retracted. :(
I guess you would need to create custom functionality that will clear old content and run it after retracting solution.
Would it be possible to use site collections for this, and then just delete the whole site collection when needed?
There is an event handler on the feature that is triggered on deactivate, which you could remove lists then. But that would require the features to be deactivated before retraction.