I'd almost ask why you're blaming Windows for a memory leak that seems to be occurring from an external program. Is it really the Operating System at fault? Not in particular.
Everyone seems to forget, but Windows does have an embedded version. Windows RT (kiddie-Windows) even runs on ARM. It's nowhere near perfect, but, the compatibility is there for a ton of input/output devices as well as the software that runs the kiosks. That's just all there is to it.
I don't mean this in an aggressive manner, so if it's coming off as aggressive I do apologize.