WP_Query returns empty if meta_query has more than 7 values

I think one of your query not satisfying the condition. Which condition you have removed to make the query run? The last condition ‘by owner’? If so, try the following meta_query

If something wrong with the condition change the relation of the query from AND to OR and check (Refer). Also echo your query and run in PHPMyAdmin to make sure that there is no error with your query.

$meta_query = array(
        array(
            'key'     => 'payment_status',
            'value'   => 'yes',
        ),
array(
            'key'     => 'expired',
            'value'   => 'no',
        ),
array(
            'key'     => 'listing_type',
            'meta_value_num'   => array(1,2,3),
        ),
array(
            'key'     => 'available_for',
            'value'   => 'sale',
        ),
array(
            'key'     => 'country',
            'value'   => 'Saudi Arabia',
        ),
array(
            'key'     => 'city',
            'value'   => 'Riyadh',
        ),
array(
            'key'     => 'property_type',
            'value'   => 'land',
        ),
                array(
                        'relation' => 'OR',
                        array(
                                'key' => 'by',
                                'value' => 'owner',
                        ),
        ),
);