Muy buen tema. Me dejaste inquieto y me he puesto a buscar.
Realmente hay que detectar el momento en que el usuario cambie de aplicación o vaya al home de Android y enviarle un kill ya que Android por defecto las deja corriendo en el background y maneja la memoria de tal forma que las apps dominantes que gasten mucho recurso si se apaguen si hace falta.
Busque y busque y todo me lleva al Taskkiller o similares, o sea, enfocando el problema al usuario o hablando de crear un botón para salir de la aplicación, aunque en la práctica no se usa mucho y creo que más los usuarios están prefiriendo opciones de aplicaciones para llevar control de que está corriendo y que no (no me extrañaría verlo aplicado en el sistema operativo integrado a futuro)
La mejor discusión del tema que hay es esta:
http://stackoverflow.com/questions/2...se-application
Ahora, el tema es que en los sistemas con multitasking usualmente tu le das la opción al usuario de cerrar (un botón de exit/quit) pero de lo contrario, se asume que una vez arranca esto va a estar funcionando. O te imaginas en Windows/Linux/Mac con una app que en el momento que dejas de usarla se cierra automáticamente? Va en contra de las dinámicas del multitasking y la elección para el usuario.