Значит чтобы удалить нужно сделать delete tagHost и затем удалить его из списка ремувом. Вот только при вызове getArrHost вернется копия массива, и там, откуда его берет getTagHosts() он останется неизменным. Что может случится при обращении к несуществующему экземпляру все знают. Можно попробовать вернуть не сам массив а указатель на него.
ну да, delete tagHost не выход.
а что нам даст указатель на массив?хм...