Нет, вы не протекаете.
Если вы смешиваете модели dll (статические, динамические), то вы можете получить ошибку памяти, если выделите память в dll, которую вы освободите в другой (или освободите в exe)
Это означает, что куча, созданная статически связанным CRT, не является той же кучей, что и CRT другого dll.
Если бы вы связались с динамической версией CRT, у вас возникнет утечка, поскольку куча распределяется между всеми динамически связанными CRT. Это означает, что вы всегда должны разрабатывать свои приложения для использования динамических CRT или гарантировать, что вы никогда не управляете памятью за пределами dll (то есть, если вы выделяете память в dll, всегда предлагайте процедуру для ее освобождения в той же dll)