I don't think there can be an infinite number of merkle trees with a 1MB block size limit.
True.
It can't be any more than 2
8,000,000 possible merkle tree variations (8 bits per byte, 1 million bytes)
Want to convert that into base 10 for me? My calculator won't do it.
Decimal approximation: 7.5612130194946271264814592984191480373499754082086168... × 10