Por que no padrão ViewHolder a classe ViewHolder deve ser estática?

Estou apenas tentando entender melhor o seguinte padrão que uso regularmente para otimizarListView

Minhas leituras apenas apontaram para o fato de que uma classe interna estática é tratada como classe de nível superior. Qual é o benefício de tal coisa em comparação com uma classe de membro (não estático)?

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Comment comment = getItem(position);
    ViewHolder holder;
    if (convertView == null){
        holder = new ViewHolder();
        convertView = LayoutInflater.from(context).inflate(R.layout.mylayout, null);
        holder.nickname = (TextView) ((ViewGroup) convertView).findViewById(R.id.nickname);
        convertView.setTag(holder);
    }else{
        holder = (ViewHolder) convertView.getTag();
    }

    holder.nickname.setText(comment.getMember_nickname());
    CharSequence
    return convertView;
}

public static class ViewHolder{
    TextView nickname;
}

questionAnswers(2)

yourAnswerToTheQuestion