So why does it take like 6 hours just to get a game now in Halo 3 when it says that 3000 people are online?
Not all of those three thousand players are going to be searching for matches all at once. Half, if not more, are probably already in matches so that factor would increase your search time. Another factor is what they are playing and what you are searching for. Each playlist is going to have a different number of players making search times longer for some gametypes than others.
Halo 3 MM is pretty broken as of recent. I logged on and it was completely broken. The countdown would freeze etc. All the original features were broken. A lot of the BC games are broken as well. Probably a ton of Xbox Live factors leading to not finding a game.
The Systems used to both queue and keep track of MM on Xbox 360(Halo 3's Original Platform) where designed nearly 15 years ago, and honestly haven't aged well. Even Halo Reach used old Matchmaking protocols. A lot of this has to do now with the fact that Xbox One and 360 have different Xbox Live programming that works together but doesn't work well. This leads to population counters being inaccurate, MM Protocols to fail and not match people in the way the devs had originally intended it to and thus ruins the overall matchmaking experiences. The other issue is that not only has the Back Compat team not fixed this issues but the last time 343 updated the game was a few years ago to patch some minor changes that only affected Bungie Favorites due to some new laws in Europe. Xbox 360 Halo games just aren't being updated anymore, so it should be expected that the services wont work as well as they once did. Take Recon for example, for some people it turns on and off because the services and systems that recognizes if a player should have that armor or not doesn't always work. It's the same issue that happens with the Katana as well. This game is just sadly dying due to a lack of patches to its very outdated networking, MM Protocols, and online infrastructure.