The problem was the CACHE setting to 256. I removed it (default 1) and now no matter from where I call my procedure I get the next value..
An explanation from here
In the case of PostgreSQL, a sequence object can be configured to cache multiple values within a single backend process so that if you are generating large numbers of values, a particular backend might " lay claim" to a range of 100 values all at once, making clashes between concurrent processes go away.
A disadvantage to cacheing is that values can and will get skipped along the way. If you were expecting them to fall in some exact serial order, that expectation will fail.
I was expecting that each call to the procedure will grow the sequence with the increment no matter from where it was executing.