The dhclient-script is doing this. It checks to see what nameservers and domains are visible. Sometimes that is useful.
According to its manual page,
When it starts, the client script first defines a shell function, make_resolv_conf , which is later used to create the /etc/resolv.conf file. To override the default behaviour, redefine this function in the enter hook script.
On after defining the make_resolv_conf function, the client script checks for the presence of an executable /etc/dhcp/dhclient-enter-hooks script, and if present, it invokes the script inline, using the Bourne shell '.' command. The entire environment documented under OPERATION is available to this script, which may modify the environment if needed to change the behaviour of the script. If an error occurs during the execution of the script, it can set the exit_status variable to a nonzero value, and /sbin/dhclient-script will exit with that error code immediately after the client script exits.
For example, as shown in How To: Make Sure /etc/resolv.conf Never Get Updated By DHCP Client, you can create or append to /etc/dhcp/dhclient-enter-hooks this dummy function:
make_resolv_conf(){ : }
/etc/resolv.conffile that has "DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN" at the top?