Olá Alexsander
Realmente, o padrão Flyweight vai além de apenas evitar o consumo excessivo de memória. Ele também se preocupa em utilizar estados intrínsecos e extrínsecos para otimizar o uso de objetos compartilhados.
No site que você mencionou, o Refactoring Guru, você encontrará uma explicação mais detalhada sobre o padrão Flyweight e como ele pode ser aplicado de forma eficiente. É sempre bom ter diferentes fontes de informação para enriquecer o nosso conhecimento.
Quanto aos exemplos apresentados no curso, entendo que você gostaria de ver mais aplicações práticas do padrão Flyweight, assim como foi feito no módulo I. É uma sugestão válida e vou repassar seu feedback para a equipe responsável pelo curso. Eles poderão considerar essa sugestão para futuras atualizações do conteúdo.
No que diz respeito à diferença entre Factory e Flyweight, o padrão Factory é responsável por criar objetos de uma determinada classe, enquanto o padrão Flyweight visa otimizar o uso de objetos compartilhados, reduzindo a quantidade de objetos criados. São padrões diferentes, mas que podem ser utilizados em conjunto para criar sistemas mais eficientes.
Espero ter esclarecido suas dúvidas! Continue estudando e explorando os padrões de projeto, pois eles podem ser muito úteis na construção de software de qualidade.
Espero ter ajudado e bons estudos!