Is there a way to roughly estimate if a process is malfunctioning by looking at the Threads and Call Stacks?
Depende realmente do processo - quanto mais familiarizado você estiver com o programa e com suas alocações de recursos "normais", mais facilmente poderá identificar quando estiver com defeito. Eu digo que isso depende do processo, porque o que é "normal" para um aplicativo pode estar terrivelmente errado para outro.
No seu exemplo, o '20 -30 threads estagnados 'pode ser indicativo de um problema, ou não - depende se isso é intencional ou não.
Algo que também deve ser usado é se o uso de recursos / desempenho do aplicativo está de acordo com seus padrões como usuário. Se você está vendo as informações do processo e vê esses tópicos estagnados com frequência, e isso está afetando você como usuário, você pode decidir remover / substituir o aplicativo por um de melhor desempenho.
Geralmente, tendemos a confiar em mais uso de memória e tempo de CPU como indicações de que algo está errado, pois esses recursos afetam mais diretamente o desempenho de outros aplicativos.