My first guess that it has something to do with the size of the observations – 500k is pretty big if one of the conversion steps isn’t careful.
Also, the n_init argument in sampling I think only applies to initializing with ADVI. I would guess that you have 2,000 draws in 4 chains for 1 element (so 8,000 draws total?), and that PyMC3 is ignoring that argument? If it isn’t, that might be a problem.
This is curious! You might manually go through your sample statistics and see if one of them is super big…