We currently expire our marketplace listings after a certain timespan elapses. Currently, we send back a 410 status code for our expired pages (404 = we've never heard of this page compared to 410 = we know what you're talking about but it doesn't exist anymore and never will again in the future).

However, our Google Webmaster Tools keeps showing more and more 410 pages under not found errors, and this can't be good. Does it not understand what we're trying to do? What's the appropriate status code for expired listings, expired products on an ecommerce site, etc?

410 (Gone) should be the right one. Technically it is a not found, just with a different reason.

I agree 410 should be working, 409 is close but doesn't fit well. That's odd.
I'm just reading here.

We also use the 410 status code for moderator-deleted messages.