private void CleanPendingLists(object sender, ElapsedEventArgs e)
        {
            var matchesToRemove = PendingMatches.Values.Where(p =>
            {
                var timespan = DateTime.Now - p.CreatedDate;

                return(timespan.TotalSeconds >= 30);
            }).ToList();

            foreach (var matchToRemove in matchesToRemove)
            {
                PendingMatches.Remove(matchToRemove.MatchID, out var _);
                _logger.LogInformation($"Removed match : {matchToRemove} from pending list as it's been not used for the last 30seconds.");
            }

            var usersToRemove = PendingGameUsers.Keys.Where(p =>
            {
                var timespan = DateTime.Now - p.CreatedTime;

                return(timespan.TotalSeconds >= 30);
            }).ToList();

            foreach (var userToRemove in usersToRemove)
            {
                PendingGameUsers.Remove(userToRemove, out var _);
                _logger.LogInformation($"Removed user : {userToRemove} from pending list as it's been not used for the last 30seconds.");
            }
        }