Thanks for the answer!
I still think something is wrong with this correlation checker. I even used this function to randomize the weights a few times, and I got the same correlation error:
def add_random_noise(weights, noise_level=0.01):
noise = np.random.uniform(-noise_level, noise_level, size=weights.shape)
return weights + noise
I am pretty sure it's impossible to have 90% correlation in this case.