The number of rows is limited by your storage and underlying tables. The manual says you can have 128 *10^10 rows per database partition in a non-partitioned table and the same number of rows in a table partition of a partitioned table per database partition. If you do cross joins, I guess your limiting factors will not be DB2 but rather storage and the speed with which your application can process the rows.
p.s: 3.5 million rows is not a lot and I wouldn't start to worry about it.