Java tem uma utilização maior de acordo com o que vejo e com o TIOBE Index (https://www.tiobe.com/tiobe-index/). No entanto C# não fica pra trás. Tudo depende do que vc gosta de fazer cara, pq qualquer linguagem vc pode se dar bem se for bom. Na minha visão, o que importa mais, é a sua capacidade de raciocinio para resolver problemas complexos e implantar soluções inovadoras, com qual linguagem vc fará isto, pouco importa. C# e Java são bem similares, mas existem algumas diferenças .
Em C# tudo deriva de Object, em Java os primitivos não.
Java ainda não permite criar seus próprios tipos por valor (structs).
Java só possui os poucos tipos primitivos prontos.
Java não permite criar tipos anônimos.
C# prefere que os tipos sejam por valor sempre que faça sentido, tipo o DateTime. Java coloca quase tudo como referência, que causa maior consumo de memória, processamento e pressão no GC.
Java não possui tipos numéricos sem sinal.
Java não pode ligar e desligar a verificação de estouro numérico na linguagem.
Java pode garantir que o comportamento do ponto flutuante seja o mesmo em todas as plataformas.
C# possui arrays retangulares (multidimensionais).
Java não pode passar tipos "primitivos" por referência. Tem que encaixotar para fazer isto.
Java não tem tipos anuláveis. Dá para simular, mas não é conveniente.
C# não tem facilidades para fazer substring aproveitando a string já existente. Isso causa vazamento de memória.
Java abandonou a prática, mas o custo de ter a facilidade permaneceu.
Java não tem classes puramente estáticas. Mas pode acessar seus membros estáticos diretamente pela instância enquanto que C# só através de da classe.
Se vc for analisar, todas fazem a mesma coisa, algumas custam menos, outras custam mais , porém, tem um desempenho melhor, e por ai vai cara, minha dica e ir pro lado que vc acha q gosta mais.