Да, это займет всего один раз, как при чтении снимка.
В этом случае canActivate
вопрос в том, нужен ли он вам, так как вы НЕ подписываетесь, поэтому angular будет обрабатывать освобождение ресурсов, так какВы возвращаетесь к наблюдаемому.Так что я бы не использовал take в этом случае
take
важно, если вы подписываетесь, поэтому вы прекращаете слушать наблюдаемые, когда они вам не нужны