Linked Server Timeout - Not Queried
This is a  guess, but I would try enabling lazy schema validation for the linked server under heavy load:

EXEC master.dbo.sp_serveroption @server=N'Linked_Server_name', @optname=N'lazy schema validation', @optvalue=N'true'



  If this option is set to false, the default value, SQL Server checks
  for schema changes that have occurred since compilation in remote
  tables. This check occurs before query execution. If there is a change
  in the schema, SQL Server recompiles the query with the new schema.
  
  If this option is set to true, schema checking of remote tables is
  delayed until execution. This can cause a distributed query to fail
  with an error if the schema of a remote table has changed between
  query compilation and execution.


Source

As to only check the linked server metadata when querying the linked server itself.

Another workaround could be using dynamic sql statements to query the linked server

DECLARE @SQL nvarchar(max)
IF (Linked Server not under heavy load = true)
BEGIN
SET @SQL = 
N'SELECT * FROM OPENQUERY(LinkedServer,''SELECT * FROM master.sys.databases'')'
EXEC SP_EXECUTESQL @SQL
END