Games With Maximum 2 players still accepts new players

Dear nakama team,
yesterday while we were in testing phase we faced a very strange issue,
we have a board game with 10 types of boards in it, each board has its own property and query to join, means we have a different ticket for each of them, and on each board only 2 players can play, maximum player is 2 and minimum is 2, after that no one else should join, we tested in on 2 or 3 devices it works fine,
but yesterday i gave the game to more than 10 people to test and all the matches were conflicting with eachother

as you see in the dashboard we have 5 players in one game, while the query is like this

    properity = new Dictionary<string, string>() {
      {"board", BoardName}
     };
    query = "+properties.board:"+BoardName;


    var matchmakingTickets = await isocket.AddMatchmakerAsync(query, 2, 2, properity);

    ticket = matchmakingTickets.Ticket;

two players were playing in a game while i clciked on find match and it automatically replaced one of them with me and the whole game just froze

any solutions for this is much appreciated.

after more diagnosing this issues, it happens with bad internet connection, the matchmaker behaves in a wrong way sometimes it pairs the same player with two or three other players each in different matches, the matches conflicts with each other, this player sends match states to a user while receives state from another player in another match.
as far as i know from the documentation in relayed multiplayer you will first create a ticket with some properity and query and this will add the player to matchmaking pool to find other players, then when the match found the ticket will no longer be valid, but how so this player still pairs with others in the pool if they already joined a game??