This command: grep -F -f b.txt a.txt
returns just first occurrence with grep 3.10 (mingw64, 4GB RAM machine) if files are bigger (b.txt ~ 1 MB, a.txt ~ 200 MB), works as expected with smaller files.
grep 2.10 on Debian (same RAM amount) works as expected even with such bigger files.