That's not a bug, that's a feature :-)

Column NUM_ROWS updates ANALYZE command. Its value means number of rows that the table had in the moment of analyze process and it's used by the optimizer for computing plans and for that purpose it doesn't need to be exact.

For exact count of rows in a table you should use count().

HTH,
Ales