Library Manager downloads libraries, which are notrequired by the project

This looks like your library structure is wrong.

Usually you should have something like this:

|--_MiB
   |--docs
   |--examples
   |--src
   |  |- Utils.h
   |  |- Utils.cpp
   |- library.json

Is it possible that “Utils.h” isn’t a library at all but just something you want to have in your project’s “include” directory?

Why you try place it into full build all compile visible. This is counterfaik.
Simply in your project place link to file in include folder. Or better copy file into project in some script used in ini.

Well, first, this article says, all header files (*.h) should be in the include subfolder. But I have tried to put it in src, unfortunately with no effect to the result :frowning:
And Utils.h is a header file to Utils.cpp, which contains samo utility functions for most of my projects. The file is placed in a directory with many other *.h files.

SOULTION FOUND!
The problem was completely elsewhere. I have used a [common] section, as shown in example in this document or this topic:

[common]
;required for all the envs
lib_deps =
  ArduinoJson@6.16.1

So, based on these docs, I have used following:

[common]
lib_deps =
  symlink://D:/Dropbox/Arduino/sketch/libraries/_MiB

And this was not working.
However, if placed in [env] section, everything works fine:

[env]
lib_deps =
  symlink://D:/Dropbox/Arduino/sketch/libraries/_MiB

And thsi works even if all *.h files are placed simply in the root of all my library files D:/Arduino/libraries/_MiB with a very simple library.json:

{
  "name": "MiB",
  "version": "1.0.0"
}