So the question(s) is(are): This thread is not a service, why it keeps running?
Because your process is still running. Even when you finish() an Activity or stop() a Service, your application process may keep running.
Am I doing something wrong?
Besides creating a never-ending thread? No.
Is this an expected behavior?
Yes. The Android system keeps process around as a caching mechanism to speed up resuming previously used apps. The system will eventually kill your process (and the running thread) as it deems necessary. Do not count on your thread not ending, because it will, eventually
Is there a real method to destroy everything the app had in memory?
There are ways, like System.exit(), but it's generally advised that you let the system work as intended.
Further Reading: http://developer.android.com/guide/components/processes-and-threads.html