Para empezar esto debería marcar error:
Código PHP:
Ver original$consulta = "SELECT *
FROM `Usuarios`
WHERE `nombre` = '$this->nombre' AND `clave` = '$this->clave'";
WHERE `nombre` = '$this->nombre' AND `clave` = '
{$this->clave
}'";
Funciona a pesar de no estar entre llaves?
Bueno, un error que veo en el método es que creas una nueva conexión a base de datos sólo para inicio de sesión y ahí mismo la finalizas.
No sé si pueda afectar en el consumo de memoria, pero sí podría traerte problemas cuando tengas muchos usuarios visitando tu web, verán un mensaje de error por falta de conexiones disponibles.