Выбор решения для многопоточности в Android?
ASyncTask на сколько я знаю ставит выполнение задач  в очередь, так что для слишком длинных задан ASyncTask не подходит. Хотя есть метод запустить задачи параллельно, но я бы ни стал его использовать вообще.
Утечки памяти конкретно вызывает не Thread и ASyncTask, а не правильная работа с объектами. К тому же можно использовать слабые ссылки weakreference - что позволит удалить объект из памяти не учитывая эту ссылку.
Если выбирать из Thread и ASyncTask - то я склоняюсь к Thread.
rxJava - это всего лишь библиотека, к тому-же при не правильной работе с ссылками (объектами) так-же возможна утечка памяти.
P.S я такой-же новичок как и ты, могу ошибаться
Думаю лучше Корутины использовать, ибо они и едят меньше памяти судя по докладам и удобный async, await механизм.