Какие могут не очищаются подписки в useEffect?
Читайте доку по useEffect
https://reactjs.org/docs/hooks-reference.html#clea...
Вы не освобождаете конекшн при анмаунте
возвращайте из useEffect функцию, которая отключится от сокета
Вот этот кусок кода у вас продолжает выполнятся после того как компонент был отмонтирован, 
console.log('Подключился к прослушиванию сообщений в user list с id: ', socket.id)
            setUsrs(dataUsers)
вам 1) вынести его в отдельную функцию, при маунте делать socket.on(' не на анонимную функцию а на именованую
2) При анмаунте делать socket.off если он это поддерживает
Ответ помог, на всякий случай он такой: 
useEffect(() => {
        getUsrs()
        return () => {
            socket.offAny('takeUserList')
        }
    }, [])

---------------------------------
В именованую функцию выносить не стал, я не понимаю для чего мне нужен контекст. Или есть еще какая-то разница между ними? Просто я же сохраняю функцию в переменную и в хуке useState, ну понятно, что вызываю её, а также, спасибо Вам большое, удаляю слушателя.