Я так понимаю, что у тебя не залочено обращение к спискам.
Этот код только лочит перезапись в твой файл конфига. Т.е. меняет цифры 4, 5, 6...
Но если у тебя несколько потоков одновременно поняли, что файл закончился, то они все обратятся к этому снипеты и поочереди выполнят +1, каждый дождавшись...