There is nothing that forces Windows programs to not clean after themselves when you uninstall them thru normal means; and nothing forcing Linux programs to not leave trash behind; it's all a matter of how they (and the uninstall methods of choice) were made.