Angeline--
Yes, this is predictable. The indProd() function offers an option, match, which if FALSE multiplies all indicators by all indicators (as you chose, apparently), but if TRUE it mutiplies the first indicators of each set, the second indicators of each set, and so forth. Multiplying all by all creates a complex pattern of correlated residuals--because the same x1, for example, is now part of multiple different observed variables. It also multiplies (pardon me) the number of nonnormal observed variables in your model.
You have choices. A recent paper by Foldnes and Hagtvedt (2014) recommends the all by all over the matching approach. You can use that approach, but to obtain a correctly specified model you must include the free residual covariances implied. If x1 is one of your original indicators, then all of the product indicator that used x1 as a component will now have residual covariance. You may have trouble getting such a model to converge.
The other approach is to use Herbert Marsh's matching. That obviates the need for residual covariances but may be statistically inferior, at the margin.
--Ed Rigdon