Quoting the bash manual:
> When `bash` is interactive, in the absence of any traps, it ignores `SIGTERM` (so that `kill 0` does not kill an interactive shell), and `SIGINT` is caught and handled (so that the `wait` builtin is interruptible).
Yes, bash quits builtins when it receives `SIGINT`. You can verify that with `wait` or `read` (`read` from a large file with no newlines will give you time to press `Ctrl``C`). `wait` in particular needs to deal with `SIGINT` correctly, as per POSIX (along with all other signals it can come across).