About the orthogonality of columns in Zadoff-Chu matrix
For complex matrices, the concept of orthogonality is replaced by unitarity. If $^H$ denotes the  conjugate transpose of a matrix, we should check that $W$ is a unitary matrix (up to a scaling factor) via equations:
$$W^*  W = WW^*  =\lambda I$$
with $\lambda\neq 0$, which you can test positively with:
W'*W
W*W'

What is missing in your loop, and especially in the complex scalar product, is the conjugation on one of the complex vectors. This is explained for instance in Wikipedia/Dot product for Complex vectors.
You could for instance replace C1 by conj(C1).