Oi Helder, tudo bem? Complexidade de código realmente é uma coisa que devemos evitar, principalmente se for desnecessária. Mas há um porém...
A evolução do software é um determinante, sempre haverão mudanças e como estamos falando de Design Patterns eu poderia comentar a respeito da sua pergunta dessa forma: A combinação de patterns é uma boa estratégia para resolução de problemas caso seja necessária tal combinação, ou seja, caso um determinado padrão já resolva seu problema, não há porque adicionar um "mais" naquele "procedimento".
E fazendo uma observação ao que você mesmo comenta em sua perguta eu diria: A possibilidade de acrecentar um outro padrão onde já tem um não pode ser transformada diretamente em uma necessidade. Você deve sempre analisar, a implementação requer a combinação desses padrões? Caso sim, não tem problemas, caso não, não recomendo.