If clients buyer the last one from a product sold out status must automatically change to ‘sold out’. If not: store owner must manually set all products without stock set to sold out.
That “in stock” and “out of stock” flag is managed by the inventory: if the product has 1 or more stock, then it’ll show up as “in stock”. Note that this can be tweaked via WooCommerce > Settings > Products > Inventory.
I set up a test as follows:
1. New product, manage stock is true, stock = 1, product shows as “in stock”
2. Purchased the product via the website front-end
3. Stock was reduced by 1 to 0, product shows as “out of stock”:

It sounds like this is a problem with how stock is handled on your site, and it could be a few different things.
When you purchase a product from the front-end, can you see in the order notes that the stock is decreasing? Here’s an example:

If that isn’t happening, then I can understand why the product isn’t being marked out of stock. In that case, you’ll want to make sure the payment gateway is working properly – you may be looking at an IPN problem.
Can you please let me know how it’s going with the stock reduction?