A single class can take up a lot of memory. A large jar can take up almost none. There might not be a correlation. All the code from a jar might not be loaded.
I would only use foreign jars if they provide a service that I do not want to implement myself. Also foreign jars might be tried in production.
It really depends on what you are trying to do and which jars you want to use. There is no cut and dry answer.
Current development is so complex that you cannot implement everything yourself within a reasonable time period. Find best of breed jars and glue them together within your app if it is a large app. If what you want to is simple then do it yourself.